Update filter ref tests to include more complex scenarios...

- in particular, removes/inserts when some items are filtered out and
some are not
- also, change to 8 instead of 8 to ensure we are not fooling ourselves
using 0 as a fallback
- also, add comments on what 'numbers' really is along the way (maybe
points to that these tests needs to be split up?)
Rework filter updates to pass tests...

- Rework setDiff to allow for a patchObject instead of silent and also
trigger doc updates and model events separately
- Allow for arrays of items to be removed/inserted
- Should be faster and better (more solid) logic than previously
- Do assume that filtering is done from 0 -> X (where X = length of all
items to be filtered)