rewrite DDS

- Store objects in an object with chronological keys instead of an
array.
- Leave localStorage implementation up to app
- Cache elements in view (no need to re-find them by index)
- Make view updates happen via events
- More efficient filtering (just removes/adds elements as needed instead
of refreshing entire view)
- Ability for views to specify the object keys that they require. If
specified, a view will only update if the value for one of those keys
changes.
- no more `keepOrder`. Instead, we have sort
- no need to directly create `Parasite`s (now `DOMRenderer`s). Instead,
just pass the options to ddsInstance.render()
- toss `each` & `map` in favor of `[].each` & `[].map`
- rename `find` to `select` and return an array instead of a single item
- rename `push` to `add`
- toss `DDS.prepObj`
- Much nicer demo with filtering, sorting, edit, delete, & add
- Use bower to import object-subscribe instead of a git submodule