Add proxy mode.
Proxy promotion.
Add automatic node promotion / demotion.
Add auto-demotion after peer inactivity.
Check for peer before demotion.
Fix JoinCommand comment.
Minor fixes.
feat(scripts/test-cluster): create three proxy nodes

This uses some sleep hackery to make sure that window 1 has followers
and window 2 has proxy machines. Seems to work!
Merge pull request #4 from philips/benbjohnson-proxy

feat(scripts/test-cluster): create three proxy nodes
Fix PUT /config response and log errors.
Merge branch 'proxy' of https://github.com/benbjohnson/etcd into proxy
Add /machines and /machines/:name endpoints.
Minor fixes to proxies.
fix(server/transporter.go) fix the short timeout problem of sending snapshot
Snapshot can be tens of MB. We need to have a minute level timeout for sending snapshot.
We add a separate snapshot http client for snapshot request, which has 120s timeout.
fix(store): corrected CAS and CAD fail cause in response

specifically when both prevIndex and prevValue are provided
Add minimum active size and promote delay.
Allow partial cluster config updates.
Merge pull request #614 from metaflow/fix-611

fix Compare and swap returns incorrect cause
Merge pull request #616 from xiangli-cmu/add_snapshot_post

fix(server/transporter.go) fix the short timeout problem of sending snapshot
docs(api): updated examples and description of CAS and CAD