toolbar: add open and download links (fixes #40, #49)

The download link will make modern browsers show a "Save File" dialog,
even for things like images and HTML documents which the browser would
otherwise be able to show. This works in Firefox 30+ and Chrome 27+
but not in IE yet:

 http://caniuse.com/#feat=download
swift: add support for deleting objects
controllers: avoid iterating over items using length

Iterating using explicit indexes and a for loop will not work if
elements has been deleted from the array. We will have such elements
when we begin deleting objects.

The use of of Array.prototype.forEach, Array.prototype.some, and
Array.prototype.every implies a requirements for IE9 and later. I'll
add a note to the README to make this explicit.
readme: make required browser versions explicit
filters: add notUndefined filter

We will use this to filter out the deleted objects from our listings.
Deleting an array entry in JavaScript does not remove it, instead it
is set to the the value "undefined". When iterating over an array with
ngRepeat, these values are still shown, so we need to filter them.
eslint: allow $ and $$ in tests

These are Protractor short-cuts for selecting elements by CSS.
swift-simulator: handle object deletion
containers: implement object deletion (fixes #38)
Merge pull request #56 from mgeisler/object-deletion

Object deletion