Move watch filter into storage level
Implement apiserver communication for Vagrant

This implementation is based on the GCE impementation from
618a367dbb48dbaa9c3b50e877858d854322fd0b.
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
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
inspect the full repo/image:tag name
Allow, when testing, SelfLinks to be unset. Kubelet now makes events in tests.
simplified TestNewKubeletClient in kubelet_test
Bump minimum TLS version from SSLv3 to TLSv1.0
Merge pull request #2772 from rlarocque2/apiserver_auth

Implement apiserver communication for Vagrant
Allow mismatched type names on all conversions

Allows v1beta3.Node to be converted to api.Minion
Node/Nodelist
Support Node/NodeList as a valid name in all versions

Also refactor v1beta1/conversion_test.go `v1beta` -> `current` to allow
easier cut and paste of tests.
Internal rename api.Minion -> api.Node
Add 'nodes' everywhere 'minions' can be used in api / cli
Integration tests don't initialize with a client

Result is a 500 error if the client object is used
Rename client Minions->Nodes, select the correct path for v1beta3

Replaces the client public interface but leaves old references to "minions"
for a later refactor.  Selects the path "nodes" for v1beta3 and "minions"
for older versions.