Split server and client into separate artifacts

This PR splits Tachyon into two artifacts, `tachyon` and `tachyon-server`. The `tachyon` artifact excludes large dependencies only required for the server, such as Jetty.

Notes:
  - This has been rebased against the `master` as of March 13th, not `split2`, to provide a conflict-free merge. In particular, it includes commit b59562b, which would cause merge conflicts otherwise.
  - This should be merged quickly, because this PR does a lot of reorganization that will be hard to keep in sync as `master` changes.


Also, please note that this PR primarily focuses on cleaning up the dependencies of the client, so that downstream applications that want to connect to Tachyon don't need to pull in Jetty and other server-specific dependencies. In particular, this means that some files that may conceptually seem like they should be part of the `tachyon-server` artifact are still in the `tachyon` artifact. This PR can be seen as a starting point for further cleanups of the split between server and core.