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.
This behavior seems unusual, can you see if anyone was actually relying on Utils.getProperty(String)? It would probably be better if we maintained the same contract as System.getProperty(), and only return null in this case.