Move watch filter into storage level
Implement apiserver communication for Vagrant

This implementation is based on the GCE impementation from
618a367dbb48dbaa9c3b50e877858d854322fd0b.
Using container-vm-v20141208 as the default image on GCE.
Merge pull request #2818 from dchen1107/containervm

Using container-vm-v20141208 as the default image on GCE.
simplified TestNewKubeletClient in kubelet_test
explicitly declare gce_cloud package name
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.
Change podStatus from Nodes.List() -> Nodes.Get(name)

Retrieves a lot less data
Merge pull request #2665 from ddysher/fix-watch-filter

Move watch filter into storage level
Merge pull request #2823 from mikedanese/master

explicitly declare gce_cloud package name
Merge pull request #2822 from mikedanese/kubelet-test-simplify

simplified TestNewKubeletClient in kubelet_test
Merge pull request #2788 from smarterclayton/roundtrip_node_nodelist

Rename Minions -> Nodes internally
refactor scheduler factory to use plugin architecture style like credentialprovider and cloudprovider for configuring priority functions and fit predicates