Throw 403 (not 400) when SMSSync key is incorrect
SMSSync file level docblocks
Add twilio data provider plugin. Refactor DataProvider to receive a little more info

Add Twilio plugin pulled from PingApp
Update DataProvider::receive() to accept type, to, title and provider message id parameters
Prefix SMSSync callback route with ‘smssync_’
Twilio IVR support is included but still designed for Ping not Ushahidi.
Add Nexmo Data Provider - ported from PingApp

Adds Nexmo provider, untested but basically copied from Ping.
Change DataProvider::send() to return message status and ID
Add new status param to DataProvider::get_pending_messages

Rename get_outgoing_messages to get_pending_messages, since that what it actually does.
Add a parameter to set the new status (or FALSE) for the messages to be set to, currently this is always UNKNOWN
Update SMSSync to pass new status of UNKNOWN