[activesync] Add unit tests, fix move/delete commands

r? @asutherland

This PR adds a lot of functionality to the ActiveSync fake server, namely the ability to change/delete/move messages. I also fixed some bugs I found along the way:

* Remove the last instances of `deferredMutations`
* Fix the ActiveSync jobs to not do anything if we don't have valid serverIds for them (empty command lists make the server unhappy)
* Fix moving/deleting messages so that they 1) don't break the source folder when we get a delete for a message we forgot about, and 2) don't show up in the target folder twice (once for the local op and once for the remote)

This corresponds to the following bugs:
https://bugzilla.mozilla.org/show_bug.cgi?id=826585
https://bugzilla.mozilla.org/show_bug.cgi?id=823669