Make api?task=reports able to submit reports too #988

* Also make sure the user id is saved with report too #987
This fixes issue #994 - Category_Model::get_categories doesn't work with prefixes in the database
Edge case when RiverID doesn't return an object.

Sometimes checking if a RiverID user exists returns simply false, which isn't an object, which should be handled properly.

Fixes #995
Merge pull request #990 from rjmackay/api-report-submit-fixes

Fixes for reports submission in admin API
Rewrote a large portion of the CrowdmapID authentication driver to resolve character encoding issues and improve error handling.
Whoops. Left in some debug code with the RiverID update.
Fix upgrade102-103.sql to work with DB prefixes

Double space after 'ALTER TABLE' was causing the find/replace to
be missed for the first SQL query.
Fix missing table prefix when listing messages by reporter #992
Merge branch 'develop' of git://github.com/ushahidi/Ushahidi_Web into develop
Fix #993 undefined variable when resetting password.

I think this fixes #993 but it might not be complete since afaik this
should only affect crowdmap.