initial work on wshd/wsh
Revert "simplify vagrant box"

Now that some tests only run on Linux it's nice to have Go and Git on there.

This reverts commit 989da03d9b659b03940ce2d3facc2b544608bc3e.
set up vagrant env for development
add more tests for isolation

* test IPC isolation by creating shared memory outside, and creating it again
  inside; the inner create will fail if not isolated, as it already exists

* test network isolation by making a new network inside and seeing that it is
  not created outside

* test mount space isolation by bind-mounting something inside and seeing that
  it doesn't show up in /proc/mounts outside

* test UTS isolation by changing the hostname inside and seeing that it's not
  changed outside
clean up/simplify/shuffle around wshd code
wshd: set process title if given

There's not a great way to do this cleanly, so this just sets argv[0] to the
title when spawning the daemon. This leaves --continue in the title, but
whatever.
bump ginkgo/gomega
implement running commands as given user
bump cmdtest, run tests on travis with root
run tests on travis with rootfs
add bin/test

Runs tests and sets up rootfs. Intended for use on Travis but also works
locally.

Added some linux flags for files that cannot be compiled on other systems.
manually set up Go in bin/test

Now that we run as root in Travis we lose the GVM stuff.
set up $GOPATH on travis
only retry cleanup 4 times, not 100
detect filesystems via /proc/filesystems
copy shmtest to /sbin, not /bin

/bin is not mounted writable for non-overlayfs/aufs systems
bump cmdtest
skip wshd suite on travis

OPENVEEZEEEEEEEEEEEEEEE
overrideable ROOTFS_INSTALL_DIR, switch to wget
fix checksum for rootfs in vagrant