Fix bug with lastRefresh timestamp

Setting a refresh token should not update the lastRefresh timestamp
because there's no guarantee that the token was retrieved as the result
of a refresh (i.e., it could come from storage). Instead, the timestamp
should only be updated when BoxAPIConnection performs a refresh itself.
Allow an item to be renamed when it's moved

The move methods in BoxFile and BoxFolder have been refactored up into
an abstract method in BoxItem. It is also overloaded to allow for an
item to be renamed when it's moved, similar to how the copy method
works.

Closes #30.
Make user agent configurable

The user-agent header used by the SDK can now be changed with
`BoxAPIConnection.setUserAgent(String)`.

Closes #32.