Bug 920546 - [Messages] Short-term fixes for the recipient panel r=julienw

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

- Apply new "invalid recipient" indicator style
- Decouple searchContact from list display
- Create ThreadUI.listContact(...)
- Create ThreadUI.validateContact(...)
- Adds two level validation:
    - Is the entry questionable?
        - This kicks off a silent search for matching contacts
        - If there are one or more matches, use the first to create a Recipient
    - Is the entry invalid?
        - This state is reached if no contacts could be found
          for the typed value.
        - Prevents enableSend
        - Prevents "export" of recipient entry at Send
          (when mixed with multiple valid recipients)
- Refactor Utils.getContactDisplayInfo logic
- Adds tests for enableSend
- Adds tests for questionable Recipient detection.

Cases covered: https://bugzilla.mozilla.org/show_bug.cgi?id=920546#c48

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
Merge pull request #12629 from rwaldron/920546

Bug 920546 - [Messages] Short-term fixes for the recipient panel
Revert "Bug 924274 - [Contacts] Add initial marionette tests"

This reverts commit fec050c7f463ec9645c69158027a5998b293ea99.
Revert "Bug 925961 - Use the email address parser for showing bubble properly."

This reverts commit e363d38cde26a6416cb9926c04896866bba4b88a.
Adding Vietnamese keyboard layout

Review and porting @lewtds keyboard layout to new format