Added support photo messages, audio messages and video messages

Hi, @ jessesquires. 
Thanks for sharing such amazing library. 

I used this library in my project, I need to display audio messages, video messages and photo messages, but the library does not support, so I implemented  these features base on your code, and the corresponding comments and unit test.

Code comments may need optimization, because English is not my native language, inevitably there are some grammatical mistakes.

Audio, photo and video can be a local file, also can be remote files.

All features are support custom. You can customize the video and photo messages thumbnail size, set different width for each audio message, or use your own activity indicator view. Etc.

When initializing a remote photo or video message, the collection view would be to ask the data source for thumbnails, you can use your own favorite way to download it.

I open this PR did not really want merge my code into the master branch (I don't mind, if you think it can be merge :]), I found a lot of people need to display audio messages, video messages and photo messages, but you do not yet implement these features, so everyone can temporarily use my code, if you wish.   

[Preview](http://recordit.co/nogJeJtTlM)

Screenshot:   
![ios 201472 20 52 48](https://cloud.githubusercontent.com/assets/4084679/3494838/afd3a140-05cd-11e4-943f-ee69baad2398.png)  ![ios 201477 19 47 28](https://cloud.githubusercontent.com/assets/4084679/3494840/b73b6ea4-05cd-11e4-95cc-5aa76ac5e8f1.png)  ![ios 201477 19 48 06](https://cloud.githubusercontent.com/assets/4084679/3494841/b7616c76-05cd-11e4-9035-cb8990566b43.png)  ![ios 201477 20 05 23](https://cloud.githubusercontent.com/assets/4084679/3494937/2cf0bfea-05cf-11e4-9dea-8824157b5ab4.png)  ![ios 201477 19 48 19](https://cloud.githubusercontent.com/assets/4084679/3494843/b7852ada-05cd-11e4-9ee7-1e5d2bf261ce.png)