Fix for leaked connection when an access token expires

If a call to the Box API returns "401 Unauthorized", indicating that the
existing access token has expired, the HTTP connection was leaking -- it
was not getting returned to the pool of available connections.
Adds BoxHashMap class that properly deals with primitive string array equalty and hashcode. This class is used for BoxObject equality.
Fix bug in refreshing of expired access tokens

OAuthDataController.doRefresh() was leaving the token state as FAIL. The
effective result of this is that the first attempt to refresh a token
would basically succeed, but the second attempt (with the new refresh
token) would fail.
Update formatting remove empty comment.
Safer handling of connection-closing

Changed the way ErrorResponseParser.parse() closes the HTTP connection.
This is not fixing any known bugs, but it does slightly bulletproof the
code against future changes.
Fix max connections

When calling ConnectionMonitor.setMaxConnection(), the code was passing
the value of the variable maxConnectionPerRoute, not maxConnection.
Fix incorrect connection pooling

If the host app called the constructor for BoxClient() that specifies
detailed parameters (e.g. max number of connections and so on), many of
the helper objects, e.g. filesManager, foldersManager, etc., were using
the wrong connection manager.
Fix tests
Merge pull request #97 from mmorearty/connection-fixes

Connection fixes
Merge pull request #96 from box/BoxHashMap

Adds BoxHashMap class that properly deals with primitive string array eq...
update .classpath for eclipse
Merge pull request #98 from box/classpath

update .classpath for eclipse
Update the Gradle build to use Maven