Bug 946989 - [Messages][Drafts] Duplicate threadless drafts get saved

- `drafts.js`
    - changed `add()` to delete existing, threadless drafts if the new draft being added matches draft.id
- `thread_ui.js`
    - ensures that the thread in the thread list is updated if a draft gets updated
- `drafts_test.js`
    - tests that threadless drafts are properly replaced
- `thread_ui_test.js`
    - tests that thread update is called upon draft saving