Add exec driver options.

This adds an option to the docker daemon which is ultimately
passed through to backend exec drivers (incl. the existing LXC
and native drivers).

Although this isn't used at the moment, this adds necessary
flexibility for daemons that need some configuration. For example,
if a libvirt backend is in the cards, you may need to specific a
socket address or some authentication information for talking with
libvirt (along the lines of qemu:///system).

This is always necessary for the shell driver (subsequent commit).

Signed-off-by: Adin Scannell <adin@scannell.ca>
Add a "shell" exec driver.

This enables an administrator to run arbitrary commands as a docker
backend. This greatly simplifies debugging new backend drivers, as you
can quickly prototype exec drivers or potentially diagnose issues.

This also enables a simple "plugin" style system for exec drivers,
you simply need to provide a sensible wrapper script.

Signed-off-by: Adin Scannell <adin@scannell.ca>