Hi,

Since environment variables are global, I think they should be prefixed by `LOCALSTACK_` in the docker image. For example `SERVICES` environment variable might conflict at some point with something else, so naming it `LOCALSTACK_SERVICES` would be nicer.

This could be optional to avoid breaking changes. Localstack would look for `LOCALSTACK_SERVICES` first, and if it's not defined would fallback to `SERVICES` just as today.

As far as I know, most (maybe all) official docker images do this. I think it's a good practice. See:
- https://hub.docker.com/_/postgres
- https://hub.docker.com/_/nginx
- https://hub.docker.com/_/mysql

Thanks.
import re
import os
import socket
import subprocess
import tempfile
import logging
from os.path import expanduser
from six import iteritems
from boto3 import Session
from localstack.constants import DEFAULT_SERVICE_PORTS, LOCALHOST, PATH_USER_REQUEST, DEFAULT_PORT_WEB_UI
KINESIS_ERROR_PROBABILITY = float(os.environ.get('KINESIS_ERROR_PROBABILITY', '').strip() or 0.0)
DYNAMODB_ERROR_PROBABILITY = float(os.environ.get('DYNAMODB_ERROR_PROBABILITY', '').strip() or 0.0)
HOSTNAME = os.environ.get('HOSTNAME', '').strip() or LOCALHOST
HOSTNAME_EXTERNAL = os.environ.get('HOSTNAME_EXTERNAL', '').strip() or LOCALHOST
SQS_PORT_EXTERNAL = int(os.environ.get('SQS_PORT_EXTERNAL') or 0)
LOCALSTACK_HOSTNAME = os.environ.get('LOCALSTACK_HOSTNAME', '').strip() or HOSTNAME