Use apiserver instead of etcd for kube-proxy.

For cloud-providers that use salt, have kube-proxy use
apiserver instead of etcd as a config source.
Move watch filter into storage level
Implement apiserver communication for Vagrant

This implementation is based on the GCE impementation from
618a367dbb48dbaa9c3b50e877858d854322fd0b.
- make cadvisor port configurable on the kubelet.
- added cadvisor port documentation.
Add a strongly typed error for unrecognized kind/type/version
Use if err := ; err != nil instead of two lines
Shrink runtime.TypeMeta to be equivalent to api TypeMeta

Remove unused fuzzing
Added two test cases for KubeletClient
Scheduler changes for extensibility
Scheduler changes to allow multiple priority functions
Fixing gofmt errors
Combining scheduler priority functions using weighted averages
Implementing PR feedback
 - Making ConfigFactory struct public
 - Added comments for predicate/priority functions and new methods
Implementing PR feedback and adding test cases
x509 request authenticator
RawExtension was not properly marshalled

MarshalJSON can't use a pointer to a struct for RawExtension:

http://stackoverflow.com/questions/21390979/custom-marshaljson-never-gets-called-in-go
Allow conversion between []runtime.Object and []runtime.RawExtension

This allows generic lists with unrecognized objects to be roundtripped
between internal and external objects.
Add a List type that can contain arbitrary objects

Supports objects that the core schema may not recognize and
preserves them unmodified as runtime.Unknown
Add network testing pod
Make guestbook handle duplicate entries.

Also use kubernetes org on the Docker Hub to host the image.

Fixes #2811