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'

@ostezer:
The docs have been moved to #8062 for technical reasons.
1. It is already 'Docker'. By 'docs' are you referring to the source code or the changes to files inside docs/ directory?
2. Done.
3. I followed the docs that exist for 'docker run'. Can you point me at specific places in the docs where the usage of 'exec' is not clear? I will be happy to address them.
4. Can you point me at the line in the source where the usage of 'command' is not clear?
5.  Again point me at the source please.