avoid Object.create pattern and test two maps instead for named fns
copy model instance objects instead of using Object.create in an effort to work around V8 GC bug

See: https://code.google.com/p/v8/issues/detail?id=2683
copying model properties was too slow, so use more optimized inheritance approach

This approach is brittle to changes in model properties, so it should
really be refactored to put inherited properties underneath a single
object
fix bug in multiple remove operation generation
function style
call eventemitter constructor for model instance
start to restructure model inheritance around a root model reference
refactor pending op check to expose model::whenNothingPending and model::hasPending
inherit model properties by using the root
fix doc test
eagerly update model.data with collection and doc data instead of creating on get
doc data needs to also be updated after fetch and subscribe
update refs at mutation time to optimize performance of gets
update collections on doc creation and deletion
add signature to model.add for scoped models with callback
convert test utils file to js
slight cleanup
fix bug in documents from query subscriptions not being properly unloaded
0.5.11
replace undefined with null when creating share set ops