Add support for deploying NixOS containers

You can now deploy a NixOS container on localhost using a spec like:

  foo = { deployment.targetEnv = "container"; };
Merge branch 'master' into containers
Add convenience command for starting a development shell
Improve container creation
Support starting and stopping containers
Remove hard-coded path
GCE backend: initial implementation
GCE backend: simplify root disk creation for most use cases, make it harder for complex cases
GCE: Disks: implement error checking, handling, and resolution.
Merge branch 'master' into containers
Update nix-homepage example

In particular, open the firewall.
Don't run dhcpcd in containers
GCE: Network and Firewall: complete --check implementation
GCE: Static IP: complete --check implementation
Add /etc/hosts entries for containers
GCE: Instance: implement extensive --check for disks, fix a bug on detach
GCE: Instance: extensive --check implementation
GCE: Instance: implement disks_ok in _check()
GCE: Instance: fail on project/region change if deployed
GCE: deployment.gce.region must always be specified