Add support for 'docker exec' - phase 1

This patch brings in support for running a new command in an existing and active container.
Fixes #6777 and #1228.

Some use cases:
* Perform administrative tasks - add/remove devices, update files, etc
* Debugging a running container - gdb, ssh
* Run periodic commands
* Run commands that are not part of the static container specification.

API
Client: 'docker exec redis touch /tmp/file'
Remote: '/containers/redis/exec'

@vishh I strongly believe the docs here need the following amendments:

1. `docker` should be `Docker` in most cases
2. `stdin`, `stdout`, etc., should be all capitalized (e.g., `.. exit on stdin close` >> `.. on STDIN close`)
3. Please clarify or point out what "exec" is (used at various places)
4. Please clarify what "command" refers to (e.g., `Error running command`.. Does this mean any command? The command passed? A command Docker was just asked to execute?)
5. `lxc` > `LXC` as well.