upload-modal: rename Cancel to Close

This is really a close button. We will soon be keeping the modal open
after the files have been uploaded (to show the status of each upload)
and this button will then be used to close the window.
upload-modal: use styled button for adding file (fixes #66)

The file input element is now hidden. We cannot interact with hidden
elements from Protractor, so we need to make it visible before we call
sendKeys on the element.
upload-modal: support uploading multiple files at once
test: extract uploadFile function
upload-modal: test upload of multiple files
upload-modal: update UI immediately when a file is added

Before, the UI would only update when the next digest cycle was
triggered, typically after another click in the browser.
upload-modal: use jQuery shortcut

We depend on jQuery so we can use this shortcut.
upload-modal: test that selected files are shown
upload-modal: test that selected files remain unsorted
upload-modal: support selecting multiple files at once (fixes #75)

There doesn't seem to be a good way to test this with Protractor since
Selenium doesn't support this yet:

  https://code.google.com/p/selenium/issues/detail?id=2239
swift: use $upload.http for uploading files

This is to get support for upload progress. The ng-file-upload package
will monkeypatch the XMLHttpRequest a little so that it can get access
to the XHR created by $http. It needs access to it so it can attach an
onprogress event handler.

We're not currently using anything else from ng-file-upload.
upload-modal: show progress bars when uploading (fixes #76)
upload-modal: avoid reuploading files

This partially addresses #78: simply clicking the upload button after
uploading a file again will no longer do anything. However, it doesn't
fix the case where the user uploads a file named 'foo' to a container
already containing a file with that name.
upload-modal: disable upload button when all uploads are done
upload-modal: support removing files (fixes #79)
Merge pull request #77 from mgeisler/multi-upload

Support for uploading multiple files
delete-modal: test deleting pseudo-directory

This revealed a bug in the callback: unlike deleteObject, the
deleteDirectory method does not return a defered coming from $http.
This means that the defered doesn't have the success short-cut method,
it only has the normal then method.