Fixing error for unq_email when downgrading db
Add DataProvider module and SMSSync provider

- Add the DataProvider module, this is based of the Ping SMS Provider but
refactored to be a little more reusable.
- Ushahidi_DataProvider extends Data Provider and implents functions
to save / get messages
- Add Message, DataFeed and Contact models
- Routes may not be quite right yet.
Add messages API and tests
Fix db migration down() for message, contacts, data_feeds tables
Adding very rough messages listing UI
Minor fix to messages view after merge
Add total_count to messages API
Show post create/edit links on message item if post it is set

Return 'post' in the messages API.
Parse post.id into 'post' in frontend message model
Show / hide post links based on post value.
Further Messages API work

- Allow users to create outgoing message via API
- Check message status based on direction
- Check direction doesn't change after message creation
- Save different message details depending on direction and if the message
  is new.
- Adding more tests for the new validation rules
Wire up archive/unarchie message actions
Add API and UI for creating a post from a message

- Add message/:id/post API and route
- Wire up create and edit post actions
- Remove requirement for posts to have a title since some messages don't
Fix typo in comment in MessageListView
Use App.config.apiuri in message model/collection url
Add messages views into workspace menu, Default to incoming message in API

- Add messages views by type and status into workspace menu
- Handle filters in the messages controller
- Make message api default to returning only incoming messages
  with status pending. Update tests to match
Clean up docblocks for data provider
Move message status, type and direction strings to constants. Move contact type to constants.

Add Message_Type, Message_Direction, Message_Status interfaces with constants.
Update DataProvider and Message to use these constants
Add type constants to Contact model and update model functions to use them
Add tests for SMSSync provider and refactor SMSSync controller to return better errors via exceptions.
Add data-provider.php to testing config
Throw 403 (not 400) when SMSSync key is incorrect
SMSSync file level docblocks