Fixed TACHYON-97
Several minor changes as dcapwell  mentioned
Change TachyonFS to have URI methods
wrap all closeables in a try finally block
when shell creates a tachyonfs, register it for closing when shell closes
Refactor client module to use TachyonURI instead of Strings.
Merge master & resolve conflicts
Minor changes as haoyuan mentioned
TACHYON-120 Fail to cast String to other object.

Currently JsonObject.get just directly cast parameter Object to the
generic T type. This could generate class cast exception such as
the one from String to DependencyType.

Modify the code to use Jackson JSON formatter instead.
Conver the ObjectMapper in JsonObject to static final per discussion
at http://stackoverflow.com/questions/3907929/should-i-make-jacksons-objectmapper-as-static-final
Remove unneded supressWarning annotation.
Revert "Remove unneded supressWarning annotation."

This reverts commit 50261219cec6021b75b294e5152c4f9530f31d11.
throw exceptions rather than close connection
Update the patch to use TypeReference to maintain collection type.
Add unit test for EditLogOperation. For now adding just for CREATE_DEPENDENCY.
Add the assert tests to verify content parsed.
Move deprecated methods from interface to implementation (TachyonFS)
fixed imports
Update import statements ordering.
Merge pull request #404 from dcapwell/infinite-loop-in-MasterClient

[TACHYON-123] throw exceptions rather than close connection