XD-2097 Shutdown containers from admin

- Enable `shutdown` endpoint for containers
 - Keep the `mangementContextPath` the same for both admin/container
- ContainerRegistrar stores the container's port as container attribute
  - If the container uses local port `0` then the port is known only when
the `EmbeddedServletContainer` is initialized
    - Add `update` method in `ContainerRepository` to update the container data
    - Update container data (attributes) along with container port info
- Add REST endpoint that shuts down container by `containerId`
  - Get container host and port from container attributes
  - Use `RestTemplate` to send `POST` request to shutdown the container
  - Throw `NoSuchContainerException` if container is not found
  - Add test
I think we have a tricky situation on our hands.

There's at least one race condition that I've thought of so far. Just because `isConnected` returns true does not mean that the container has been registered yet - this is especially true when the container is re-registering itself after having lost a ZK connection. We could end up with a `NoNodeException` because the container's ephemeral node doesn't exist yet.

I don't have any suggestions for this yet; will think about it some more.

On a related issue, I also realized that `ContainerAttributes` isn't thread safe - and in this case we'd be writing from one thread and reading from another. My off-the-cuff answer is to change the internal map to a thread safe one.