Remove etcd dependency from controller manager.
Add cache package.
Add ID to JSONBaseInterface
finish testing client/cache
proxy: cleanup and minor refactoring

This change includes minor refactoring and cleanup of the proxy
package including the following items:

 * Rename source files with misspelling of round robin
 * Remove unnecessary and redundant comments
 * Update comments for clarity
 * Add locking when updating the round-robin index
 * Improve method receiver names
 * Rename the LoadBalance method to NextEndpoint to add clarity

No changes in behaviour have been introduced.
Pull golang from golang
Revert "Use atomic create in EtcdHelper.AtomicUpdate"
Merge pull request #793 from GoogleCloudPlatform/revert-694-atomicetcd

Revert "Use atomic create in EtcdHelper.AtomicUpdate"
Merge pull request #792 from derekwaynecarr/update_golang_src

Pull golang from golang to fix error where hash does not match in salt state
Don't hard code load balancer zone.
Don't use zone for regional load balancers.
Add dns-952-identifier validation to service ids.
Revert "Revert "Use atomic create in EtcdHelper.AtomicUpdate""

This reverts commit 73b64aa490e6ae4cc9f5c0026e0d6f8bf03bbdf5.
Remove duplicated def of IsEtcdNodeExist
Merge pull request #758 from lavalamp/clientCache

Watch based client cache
Merge pull request #754 from kelseyhightower/proxy-cleanup

proxy: cleanup and minor refactoring
Merge pull request #757 from lavalamp/repCtl

Remove etcd dep from controller manager
Merge pull request #765 from brendandburns/service

Add support for regions, and use them for cloud load balancing.
Merge pull request #794 from nyaxt/reland_atomicetcd

Remove duplicated defs and reland #694.
Merge pull request #759 from brendandburns/valid

Add c-identifier validation to service ids.