Bug 904640 - [Messages] Keyboard should always close when pressing Send r=julienw

https://bugzilla.mozilla.org/show_bug.cgi?id=904640

- Remove focus from all elements before panel change by calling document.activeElement.blur() in MessageManager.onHashChange
- Updates Mocks:
    - MockThreadListUI to contain all properties (data and method)
    - MockThreadUI to contain all properties (data and method)
- Tests MessageManager.onHashChange:
    - Remove any focus left on specific elements
        - Assert on spy intel for document.activeElement.blur
    - Exit edit mode (Thread or Message)
        - Assert on spy intel for:
            - ThreadUI.cancelEdit
            - ThreadListUI.cancelEdit
    - Reset Group Participants View
        - Assert on spy intel for ThreadUI.groupView.reset

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
Bug 893838 - [Messages] Deleting threads and messages takes forever

https://bugzilla.mozilla.org/show_bug.cgi?id=893838

- Updates desktop mock:
    - Create an expensive thread of MMS messages
    - Mock delete support for array of message ids
    - Adds Z for Zombie, a console API for generating threads and messages
        - Z.threads(num, interval)
        - Z.messages(num, interval)
- Creates message caching
- Optimized, one step removal for all messages
    - Safe incoming messages in selectAll mode
- Optimized, one step removal for all threads
- Updates UI as priority, deletes actual messages asynchronously

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>