Add /version to server and check it in client.

Will help detect client/version skew and prevent e2e test from passing
while running a version other than the one you think it's running.
Fixing typo
Merge pull request #698 from danmcp/fix_typos

Fixing typo
Merge pull request #627 from lavalamp/fix

Add /version to server and check it in client.
Split watch
Split async
Split operations test
Split index
Split interfaces
Split minion
Shorten variable name
Simplify helpers
Move prefix methods
Rename methods and move parseTimeout
Rename write -> writeJSON
Split operations code and add comments
Move handle* methods to their respective locations

Fix names