Merge pull request #1 from amplab/master

merge
initial glusterfs integration deposit
additional changes to make compatible with glusterfs-hadoop plugin 2.1.18
clean up env variables; add unit test for glusterfs
Added concurrent tests to MasterInfo
Merge remote branch 'upstream/master'

Conflicts:
	main/src/main/java/tachyon/UnderFileSystem.java
	main/src/main/java/tachyon/UnderFileSystemHdfs.java
resolve conflict and adapt to new changes
update glusterfs-hadoop version
force using hadoop-minicluster 2.3.0
Revert "force using hadoop-minicluster 2.3.0"

This reverts commit 5d82003f56a011062b7095adb863532f0532587b.
exclude glusterfs-hadoop transit dependencies
fix indentation
Improve issue TACHYON-90 (JIRA): use FQDN as hostname
Improve issue TACHYON-90 (JIRA): prefer IPv4 Stack
Merge pull request #203 from pfxuan/master

Improve issue TACHYON-90 (JIRA): use FQDN as hostname in BlockInfo
toggle glusterfs test and add glusterfs test profile. 1) to unit test glusterfs, use command mvn -DGlusterfsMount=/vol -Dhadoop.version=2.3.0, where GlusterfsMount is the Glusterfs mountpoint, 2) to run glusterfs unit test with other tests, use command mvn  -Dglusterfs test
When the master client fails to connect, it should stop trying

With the current implementation, users will end up continuously
retrying to connect to the master, because of the while loop in
each MasterClient method like

```
while (!mIsShutdown) {
      connect();
      ...
}
```

Instead of returning a boolean, we will now interrupt the control
flow during exceptional conditions, as this will should allow current
users of this API to handle it (rather than having to change every
usage of `connect()` to include a check that throws a less-helpful
error message).

Note that this does require a breaking API change, as we have added
checked exceptions to several public APIs. Since these APIs actually
do incur IO, it seems reasonable that they might throw IOExceptions,
however. The alternative would be to wrap our IOExceptions in
RuntimeExceptions, but this isn't exactly the "Java Way".
Stop the heartbeat thread.
Slight refactor of the check-for-shutdown logic
Call setConf() in TFS to ensure correct Configuration is used