Don't assume every AWS VPC has tags

The default VPC has no tags (by default), so we should use get()
Default ENABLE_CLUSTER_MONITORING to false

Otherwise kube-down fails because the variable is not defined
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.
- make cadvisor port configurable on the kubelet.
- added cadvisor port documentation.
Added two test cases for KubeletClient
Add python-cherrypy as explicit install for salt-api
Update roadmap based on discussion at contributor meetup.
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
Add --pushup to e2e.go

Silly but hopefully memorable name for an option to --push OR --up
depending on cluster state.
Add util to validate namespaced names
Merge pull request #2795 from zmerlynn/pushup

Add --pushup to e2e.go
Merge pull request #2653 from justinsb/default_cluster_monitoring

Default ENABLE_CLUSTER_MONITORING to false
Merge pull request #2652 from justinsb/default_vpc_has_no_tags

Don't assume every AWS VPC has tags
Expand e2e instructions.
Improve error reporting

Follow-up of changes introduced in commit 72c922668fefc1cf671d9c9e38ebf22a22a80dcf