Bug 840055 - [MMS][User Story] Message thread view r=julienw,borjasalguero

Update the Message Thread layout according to the latest specification.

Conflicts:
	apps/sms/style/sms.css
Bug 869642 - [MMS] Create Desktop Mock Messages for Media - r=borja
(cherry picked from commit ba5616e2cdca600270e246d381916bf857cd3913)

Conflicts:
	apps/sms/js/sms_mock.js
Bug 862311 - [MMS][User Story] Display attachment icon in thread

Additionally, define the thread list item HTML via a template string.
(cherry picked from commit ef4986b6c7e015a6534ada72d08e8a152af3193d)

Conflicts:
	apps/sms/js/sms_mock.js
Bug 870437 - [MMS] Update background size for working in multiple resolutions - r=borjasalguero
(cherry picked from commit d39c33351497e4a9c63c960f7bb4cb7d2c1faa28)
Bug 837994 - [MMS][User Story] Multiple recipient messaging - r=borjasalguero

Pull Request #9521
(cherry picked from commit 2e6a20d256cd79a3cf806abe01605c6446a8629c)

Conflicts:
	apps/sms/js/thread_ui.js
	apps/sms/test/unit/sms_test.js
Bug 840069 - [MMS][User Story] Message preview including size - r=borjasalguero

Pull Request #9385
(cherry picked from commit 081391ea5338351cc9ad5f03786ebdadd5246f67)

Conflicts:
	apps/sms/style/sms.css
Bug 870879 - [SMS] New composer should convert <br> to \n instead of stripping spaces - r=borjasalguero

Closes bocoup/gaia#7
(cherry picked from commit c131340c871a7c5b1182f8da0431c63da6afda4f)
Bug 870626 - [MMS] Placeholder is not in input box. Regression. - r=borjasalguero

Closes bocoup/gaia#4
(cherry picked from commit 806b332a1f4ddfa5cb20eec2746400d9f77f5275)
Bug 870536 - [MMS] 'enableSend' method is not working as expected - r=borjasalguero

Closes bocoup/gaia#3
(cherry picked from commit 2ff30453e1b481a0e989530d2a003f369f13700e)
Bug 870124 - [MMS][User Interface] SMS counter display - r=borjasalguero

Closes bocoup/gaia#1

Squashed commit of the following:

commit 014d597a46ca2caeeddf3d29b488b0a657a65f3c
commit ae9ff6df80b79d8c3c6bdf9703afa0e37d72b09d
commit e5bc7d9543cae918650d7801e297218e7a8dcf88
commit 0948a7d688b2cb448c8be3ec259f6486d8255728
commit b3b431a9b83c3db500573fd42e9183ded72666ba
commit 42564701693d0f9c1b5453638c073fb0b74cb1ba
commit bab38215f416299e9bda8c9a49a60f9488aeafcd
commit 552541d755d4ccd187e8245a9dae2a9790a60ce8
commit 062dfc2df6d496c678d5fe60273b3e4e4aae186a
(cherry picked from commit 9ef20d89bd64e6ba3516b0675e357da0cc3cc4e8)
Bug 870618 - [MMS] Live-search panel is not cleaned after sending a SMS.r=borjasalguero

Closes bocoup/gaia#8

(cherry picked from commit 633f391b9946e72fd05bea1b34846c2ded840745)
(cherry picked from commit 0430f74d96ed94392edbe532d1f7a5f227c320c9)
Bug 870628 - [MMS] Text in input box can overflow below the interface. - r=gnarf37
(cherry picked from commit c070f16e5dae71081cc12d61b20573148b70587a)
Bug 870120 - [SMS] maxSegmentsInfo no longer working with new MMS compatible composer - r=djf
(cherry picked from commit ac229186a02a05e1e0cd998fff0ad7511bf30a63)
Bug 870603 - [MMS] Multi-recipient: completing # or auto-search enter with ; or ENTER erases content - r=gnarf37

Looks like the event constructor was renamed from KeyboardEvent to KeyEvent at some point. Instead of relying on an instanceof check, just test the event.type

https://bugzilla.mozilla.org/show_bug.cgi?id=870603
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
(cherry picked from commit d9b84c1617828a24952944ff86935532e2f18501)
Bug 869255 - [MMS][User Interface] Attach button fire pick Activity and create Attachment r=gnarf37

Implement a button to allow users to choose attachments for MMS messages.
(cherry picked from commit 75e153f09e72b692917556e028dacb8436a0d86f)
Bug 840044 - [MMS][User Story] Image attachment support r=gnarf37
(cherry picked from commit a09e770ecd5d80c9e04480b861ddf1b0d28669f6)
Bug 871835 - [MMS] Re-factor attachments to work with Blob data r=gnarf37
(cherry picked from commit 5413788cbafccfad50780a9ef3685ee8efa8d3e7)
Bug 870544 - [MMS] Recipients. Apply right UI styles
Bug 840090 - [MMS][User Story] New message notification when auto-download enabled
(cherry picked from commit 537b6f8b81e487c4b593259a0a396b6086ffbafa)
Bug 869219 - [SMS] Resend handler is bound unsafely r=gnarf37

Include support for multi-recipient.

This includes:

- Modifications to the Desktop Mock (bringing the `delete` and
  `sendMessage` implementations closer to spec)
- An update to MessageManager that promotes compatability with the
  recent multi-recipient work
(cherry picked from commit 9cce95ca788f653e8915c71d41c81f831edcd62c)