Refactor PhotoApi tests and error handling

Prefix all the errors with the operation performed when error occurred
(upload, edit) and kind of error (warning, error, unknown). Use "/" as a
delimiter. This can be later used to easily query for statistics using
MySQL's SUBSTRING_INDEX() function, e.g.:

select
  substring_index(event_errorText, '/', 2) as error,
  count(*) as count
from MobileWebUploads_5383883
where timestamp > '20140213000000'
group by error
order by count desc;

will show something like:

+-------------------------------------------+-------+
| error                                     | count |
+-------------------------------------------+-------+
| upload/error                              | 25    |
| upload/warning                            | 54    |
| edit/error                                | 113   |
+-------------------------------------------+-------+

Also:
* Generalize error handling when warnings are returned by API.
* Remove $.toJSON() from warnings, there is no trace of those cases ever
  happening in EL logs.

Change-Id: I9fa19a03506e70a567e01c0e8d29f7c5d6f62107
Merge "Refactor PhotoApi tests and error handling"