Added reactive.get(fn) & reactive.set(fn) adapters and updated internals

This PR does a few things:

1. Adds the remaining adapters which is important for interfacing with other libraries. 
2. The library now uses these getters and setters consistently internally, instead of hardcoded `obj[prop]` and `obj[prop]()`.
3. Added backbone example to show how these adapters will work
4. Finished adapter tests

All tests pass with no modifications to original tests, so it shouldn't break anything.

This PR also will make it really easy to create two-way binding plugins as the view now knows how to update the model.