Don't refilter .all() and .find() if only properties changed

Might need minor cleanup, maybe a unit test. Also would like to rename 'ready' 
@stefanpenner I think this solves sandstorm's problem and overall should lead to major perf
@fivetanley It seems like trailing comma are reported by jshint with the `es3` option activated., but I don't know if we really want to use that.