Merge pull request #72 from EasonLiao/master

Move tree related implementation to separate pacakge.
Add transaction-like support to DataTree.

- This is needed to support serving batch requests(all-or-nothing)
- Like version control system, you can make changes in staging area, and
commit or abort it, before committing the changes will not be visible.
Merge pull request #74 from EasonLiao/transaction

Expose multi-op from DataTree
Reply service unavailable during quorum loss.

- Checking whether in broadcasting phase in SessionFilter and reply
service unavailable if it's not in broadcasting phase.