added the composer components
implemented the Amazon backend
added the Dropbox library
implementing the Dropbox backend
implemented file uploading
implemented the exists check
implementing file delete for Dropbox
implemented file reading for Dropbox
simplifying the selector
updated the classes to use the new interface
wired the configuration screen
wired the configuration form for the pluggable backend
adding configuration for the pluggable file backend
wired the selectable backend into the files config
updating composer to the latest config
updated the classes for the new exceptions
making sure we always end up with a project id, event if it's null