Merge pull request #520 from philips/use-goven

Use goven for all third party dependencies
fix(test.sh): use . not source
feat(*): bootstrap initial commit

Setup the flags, and checkin the docs. Lets do this!
refactor(server): move utilities into pkg

like camlistore lets move these utilities into a `pkg` prefix.
refactor(config): make config its own package

Refactor config into its own package. Trying to tease the config from
the server so that all of the control surfaces are exposed in the Server
for easier testing.
feat(bootstrap): wire up the flag

This wires up `-bootstrap-url` to some code (which crashes) :)
feat(bootstrap): initial working code

This is an initial version of the bootstrap code that seems to work
under the normal circumstances. I need to mock out a server that will
test out all of the error cases now.
fix(Documentation): remove empty ttl= off of _state key
chore(server): cleanup formatting and errors on peer_server

While working on the bootstrapping code I noticed a number of the errors
for cluster joining could be better. Fix them up.
fix(Documentation): the cluster token doesn't need to be secret
chore(Documentation): use the term discovery not bootstrap
chore(*): rename bootstrap to discovery

Rename everything from bootstrap to discovery
fix(config): make tests work again

After refactoring config out of server I forgot to fix up the tests.
Make them work again.
test(config): add tests for the discovery flag
wip
bump(github.com/coreos/go-etcd): 5c0151c64399ff9a8087c2e29ae96145ede7cfc2
wip for go-etcd refactor