container: make Start asynchronous again

Remove the code in Start that makes sure the container is really running
before returning.  It's quite hackish and unnecessary.  With the
dockerinit code and the rpc/pty locks there should hopefully not be any
race conditions in the start path.
test: get rid of LXC-specific tests

Since we're moving to a container plugin infrastructure, these tests
don't currently work with the LXC plugin and they'll never work with the
libvirt plugin.
test: make TestEnv non lxc-specific
lxc: create lxc container plugin

Create a container plugin infrastructure and move the lxc-specific code
to its own plugin.
network: create dockernet plugin

Create a network plugin infrastructure and move the bridge creation code
to a new "dockernet" plugin.
dockerinit: privileged device cgroup access

When using libvirt-lxc in privileged mode, enable cgroup device access
from dockerinit, since libvirt doesn't support it.
libvirt: create libvirt-lxc plugins

Create container and network plugins for libvirt-lxc.  If libvirtd is
running, use the libvirt plugins.  Otherwise use the dockernet and lxc
plugins.

With this change, docker must be dynamically linked since libvirt
doesn't seem to support being statically linked, based on the compile
errors seen.