Does PUT/DELETE with version check.

- If version is -1 in PUT, then treat it as creation.
- If version > -1 in PUT, then treat it as set and we set the node if
and only if the versions match.
- If version > -1 in DELETE, then delete node if and only if versions
match.
Add integration test for PUT/DELETE with version check.
Merge pull request #53 from EasonLiao/request_version

Does PUT/DELETE with version check.
Implement right semantics for wait with version
Make the name of sequential node to be the version of dir
Merge pull request #50 from EasonLiao/wait

wait should return if file/directory gets deleted before reaching the version
Merge pull request #41 from EasonLiao/seqnode

sequential file: use directory version as the sequence number
don't include sessionID field for regular files/directories
Merge pull request #40 from EasonLiao/session

don't include sessionID field for regular files/directories
Hide path header, add Location header for sequential node.
Merge pull request #46 from EasonLiao/add_location

handling location/path headers