Make individual controller actions asynchronous.
volume: improve test coverage and minor refactoring

The volume package does not test enough use-cases.

Improve test coverage by adding additional tests and refactoring
current tests to use table testing.

This change introduces a new error var to make testing unsupported
volume type errors easier.

This change does not introduce any changes in behavior.
Add some more synchronization.
Merge pull request #619 from brendandburns/controller

Make individual controller actions asynchronous.
Merge pull request #673 from brendandburns/fix

Bail out and print error, if release.sh fails.
Add CLI details to the readme.
Don't hard code load balancer zone.
Instead of apiserver panic when proxy a request to a dead minion,
print out proper message through http.Response
Merge pull request #675 from dchen1107/minionlogs

Instead of apiserver panic when proxy a request to a dead minion,
Merge pull request #669 from brendandburns/cli

Add CLI details to the readme.
Merge pull request #674 from brendandburns/service

Don't hard code load balancer zone.
Merge pull request #649 from kelseyhightower/improve_volume_test_coverage

volume: improve test coverage and minor refactoring
Validate pod on create and update.

* This commit adds pod validations on when creating and updating a pod.
Merge pull request #639 from rafael/validate_pods

Validate pod on create and update.
Add some initial validation logic.