feat(firebase): Added firebase example.

I added in the same todo example app
with Firebase, and have begun building
the Firebase protocol for this version
of OmniBinder.

Presently, the protocol loads the initial
model from Firebase, nothing more.
feat(firebase): Respond to children added.
feat(firebase): Implemented child_removed.
fix(firebase): Made index smarter in child_added
feat(firebase): Added splice/swap for child_changed
fix(firebase): child_removed index check restored
feat(firebase): WIP- child_moved
feat(firebase): Started stubbing processChanges.
fix(bower): Added bower_components to gitignore and karma
fix(obBinder): Fixed logic for ignore counting.

Closes #18
feat(uncycle): Refined recursion prevention strategy

I started experimenting with counting the number
of items changed in order to know how many changes
to ignore when getting a change update. This solution
is slightly better than counting the number of
Changes (which can include many items in a single change),
but is still flawed.
feat(firebase): Continued implementing Firebase protocol