Added concurrent tests to MasterInfo
A couple minor fixes and cleanups

There were more, but I was too slow, and other people already fixed them :)
Fix indentation
Re-throw fatal exception
fix a broken link in documentation
Merge pull request #201 from uronce-cc/cc

fix a broken link in documentation
fix issue TACHYON-73 in JIRA: change toFullPermission in UnderFileSystem.java to handle all posix permissions
fix indentation, change changePermission to setPermission
remove toFullPermission
Semicolon!
Merge pull request #198 from aarondav/fixes-local

A couple minor fixes and cleanups
Merge pull request #202 from uronce-cc/cc

fix issue TACHYON-73 in JIRA: change toFullPermission in UnderFileSystem...
minor bug fix, tweaks.
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
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