Add some extra validation and checking to the local cluster setup.
Merge pull request #279 from brendandburns/tools

Add some extra validation and checking to the local cluster setup.
Initial integration of the cloud based minion registry.
Merge pull request #276 from brendandburns/minion

Initial integration of the cloud based minion registry.
Allow empty lists when polling manifests via http
Merge pull request #282 from jjhuff/allow_empty_manifest_list

Allow empty lists when polling manifests via http
Move stringSet to util.StringSet
Merge pull request #283 from lavalamp/stringSet

Move stringSet to util.StringSet
First cut at input validation for Kubelet

* Add some util functions for basic validation
* Spec api fields more tightly
* Break a dep from util -> api, so I can do the reverse
* Add functions to validate structures
* Call those functions when running manifests

This does not validate as it unmarshals YAML or JSON because I want to be able
to validate structures that come from other inputs without forcing them to be
YAML.

This does not handle all api structures - I am not familiar wnough with the
rest to spec them this tightly - I hope someone else can do that.

There are a number of open questions, marked "FIXME".  Please offer feedback
or opinions.
Fix comments on the WIP change.

* Use strings.Repeat()
Add a NewStringSet(items []string) function

Make it easier to make a literal StringSet instance.  Beef up the test to
cover that and len().
Use util.StringSet in validation