Fix a missing lock in the fake etcd client.
Merge pull request #2108 from brendandburns/fix

Fix a missing lock in the fake etcd client.
hack/local-up-cluster fails to even launch apiserver

--machines was removed but still referenced in hack/local-up-cluster.
This is not a total fix, but at least allows the apiserver to start.
Merge pull request #2110 from smarterclayton/local_up_cluster_fails

hack/local-up-cluster fails to even launch apiserver
Rework hack/ and build/ directories.

* Rewrite a bunch of the hack/ directory with modular reusable bash libraries.
* Have 'build/*' build on 'hack/*'.  The stuff in build now just runs hack/* in a docker container.
* Use a docker data container to enable faster incremental builds.
* Standardize output to _output/{local,dockerized}/bin/OS/ARCH/*.  This regularized placement makes cross compilation work.
* Move travis specific scripts under hack/travis

With new dockerized incremental builds, I can do a no-op `make quick-release` in ~30s.  This is a significant improvement.
Merge pull request #2092 from jbeda/1729-hack-build

Rationalize `build` and `hack` directories
Fix a bunch of places where the -machines flag was still attached to the apiserver.
Merge pull request #2118 from brendandburns/fix

Fix a bunch of places where the -machines flag was still attached to the apiserver
Fix minion_cache_ttl and minion_regexp flag change.
Merge pull request #2119 from ddysher/fix-flag-change

Fix minion_cache_ttl and minion_regexp flag change.
Removed 'Metadata' from all types