add curb and filemagic dependency
RemoteStorage module implementing remotestorage API

This is a client implementation to upload, fetch and delete files from
remote storage providers according to the remote storage draft[1].

RemoteStorage.finger
  makes a webfinger request to the server indicated by the provided
  handle and attempts to find the remoteStorage entry in the links
  section.

RemoteStorage.validate
  checks whether the webfinger response indicates that the remote
  server supports this version of the draft.

RemoteStorage.auth_request_url
  builds a request URL that the user has to visit to grant permission.
  On success the remote server will redirect the user to our site
  where the access token will be stored.

RemoteStorage.upload
  uploads a given file to the provided storage. The default directory
  is "/public/libertree".

RemoteStorage.delete
  deletes a file from the remote storage when the access token is valid.

__
[1]: http://tools.ietf.org/html/draft-dejong-remotestorage-00
hack to move the access token value to the request object
implement remote storage connection flow
use remotestorage branch on libertree-model
Merge branch 'master' into remotestorage
separate controller for remotestorage
update redirect URL
form to destroy remotestorage connection
link to remote storage page from account settings
save remote storage URL
link to file management
delete method takes storage container
implement get method
view remote files
interface for remote file deletion
Merge branch 'master' into remotestorage
build authorisation request URL more carefully

- URL encode all parameters
- add client_id parameter
- merge query string with possibly existing query string in the base URL

This now works with the remote storage implementation of 5apps.com .
expect file object, not just path
expect storage object