Adds Support for Seperating Host and Container Ports

Previously, the the KEYSTONE_ADMIN_PORT and KEYSTONE_PUBLIC_PORT
was used by the container and host. This causes problems when
exposing different port numbers on the host than the container.

This change is important when running the Keystone container
on a Docker Registryhost because the registry service uses TCP
port 5000.

This change iprovides more granularity when defining the PUBLIC
and ADMIN PORTS, by introducing the following parameters:

KEYSTONE_ADMIN_CONTAINER_PORT used to expose the Keystone Admin
API port number on the container. Defaults to 35357.

KEYSTONE_ADMIN_HOST_PORT used to expose the Keystone Admin API
port number on the Docker host. Defaults to 35357.

KEYSTONE_PUBLIC_CONTAINER_PORT used to expose the Keystone Public
API port number on the container. Defaults to 5000.

KEYSTONE_PUBLIC_HOST_PORT used to expose the Keystone Public
API port number on the host. Defaults to 5000.
Updated ENV Defaults and Fixed EXPOSE Bug

Previously, several ENV defaults were not sensible. Additionally,
the Docker EXPOSE used harded-coded port numbers instead of
referencing variables.