filters: add selected and length filters

We will be using them in a followup commit.
delete-modal: let user confirm deletion (fixes #84)
container: make delete button a default botton

This button is no longer dangerous in itself since we now show a
confirmation dialog.
swift: add deleteDirectory method

This deletes all objects in the specified pseudo-directory.
delete-modal: support deleting pseudo-directories (fixes #36)

This is not terribly elegant at the moment: you simply see the
directory as an item in the delete modal and when it is deleted, it
disappears from the object listing.

See #85 for ideas to improve this.
Merge pull request #86 from mgeisler/delete-modal

Delete modal
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