Build changes

This patch:
* Makes the build independent of the specific hadoop version
* Splits out the client and server into two components

With these changes, the `tachyon` artifact with the core and client could be published to Maven central. Applicaitons would just need to specify the appropriate version of `tachyon` and `hadoop-client` artifacts to interact with a tachyon cluster.

Tachyon servers need to run the new `tachyon-server` artifact using the "-jar-with-dependencies" jar file.