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.
test-cmd.sh can fail if public IP not available

test-cmd runs a 127.0.0.1 version of the apiservers, but does not
set --public_address_override, which means it can fail on some systems
(like Macs) which don't expose a bindable external port by default.

Since reachability is not necessary for test-cmd.sh today, set
public_address_override to 127.0.0.1
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.
Deflake the TestCreate test, by adding an explicit wait.
Add net-tools pre-req to Vagrant instructions

Adds a note mentioning that `net-tools` are required for bridging VirtualBox's host networks. Added a similar note under the troubleshooting section.
Add support for a 'log' command to kubectl.
Make endpoints return 400 instead of 500
Fix healthz test error handling
Removed 'Metadata' from all types
Merge pull request #2102 from markturansky/v1beta3_refactor_metadata

Refactor v1beta3 - Refactor 'Metadata' to ObjectMeta from all types
Merge pull request #2109 from smarterclayton/test_cmd_can_fail_on_public_addr

test-cmd.sh can fail if public IP not available
Merge pull request #2130 from claire921/refactor_healthz_test

Fix healthz test error handling