Add diffs for 'to satisfy'

This is incomplete and has a lot of loose ends, but I would like to get some feedback :)

Should `e.createDiff` receive an `output` parameter? How about `inspect` (or maybe just `depth`) so that the collapsing of unimportant subtrees can work.

Regarding the `MagicBox` etc. tests -- it would be really nice to somehow generalize the code that inspects/diffs `ko.observable` in unexpected-knockout so that the output can look nicer. Maybe we could have an "abstract" type for that, sort of like https://github.com/sunesimonsen/unexpected/blob/master/lib/types.js#L570-L675