Config refactor - add support for KVP + XML configs

This pull adds support for a KVP tachyon.properties and tachyon-site.xml configuration.

Both files are supplied in the JAR and loaded from the job for default values.  Either can be overridden with class loader loading priority.

The weight of properties is:
System/ENV > tachyon.properties > tachyon-site.xml

Properties should move out of code and into the tachyon.properties file (next refactor).  Also all System.setProperty(..) and System.getProperty(...) calls should be replaced/removed in favor of a shared config object.

The new config specifies ${USER.HOME}/.tachyon as the tachyon home directory.  This will assist in multi-tenancy and security concerns later.
null is the better API return vs throwing an exception. if there's consensus on this behavior I will change it.