Convert existing kubernetes system to use ContainerStatus, instead of
docker.Container directly.

Conflicts:
	pkg/kubelet/dockertools/docker.go
	pkg/registry/pod/rest.go
fix rebase issue.
Clean up scripts to require a minimal gsutil version.
Initial cut of a spreading scheduler.
Add a generic scheduler.
Update e2e test to reflect the change.
Merge pull request #1335 from dchen1107/exit1

Convert existing kubernetes system to use ContainerStatus, instead of
Add a new network for e2e tests, to isolate it from any other cluster.
Merge pull request #1435 from brendandburns/e2e2

Add a new network for e2e tests, to isolate it from any other cluster.
Merge pull request #1414 from brendandburns/fix

Clean up scripts to require a minimal gsutil version.
Refactor the code to make it more readable.
Merge pull request #1420 from brendandburns/scheduler

Initial cut of a spreading and generic scheduler.
Add new Event type

* replaces previous Event type, which is too limited.
* Remove writing of old event type.
* Fix serialiazation test to automatically test all types.
Fix type cast problems now that watch can pass errors
Be more robust in how we pass flags.

Using the '=' form of a flag makes things better if we have an empty list of machines.
Merge pull request #1447 from lavalamp/fix

Fix type cast problems now that watch can pass errors
Merge pull request #1448 from jbeda/robustify-flags

Be more robust in how we pass flags.
Merge pull request #1354 from lavalamp/eventing

Add Event to api types
Log apiserver errors that are not of an expected type

Currently HttpLog only expected status range - this logs errors
that come back from a REST storage object without being first
converted to something in pkg/api/errors.  This usually indicates
unexpected error conditions that a programmer didn't explicitly
check for - the kinds of problems that may need debugging by
an operator later.  Set to V(1) because they don't impair normal
operation.
Introduce some default log verbosity control

Move a lot of common error logging into better buckets:

glog.Errorf() - Always an error
glog.Warningf() - Something unexpected, but probably not an error
glog.V(0) - Generally useful for this to ALWAYS be visible
            to an operator
            * Programmer errors
            * Logging extra info about a panic
            * CLI argument handling
glog.V(1) - A reasonable default log level if you don't want
            verbosity
            * Information about config (listening on X, watching Y)
            * Errors that repeat frequently that relate to conditions
              that can be corrected (pod detected as unhealthy)
glog.V(2) - Useful steady state information about the service
            * Logging HTTP requests and their exit code
            * System state changing (killing pod)
            * Controller state change events (starting pods)
            * Scheduler log messages
glog.V(3) - Extended information about changes
            * More info about system state changes
glog.V(4) - Debug level verbosity (for now)
            * Logging in particularly thorny parts of code where
              you may want to come back later and check it