Issue #55 - Fix images transmission bug

* Get rid of the buggy flag...
[#55] Attempt up to 3 times to upload a file to the datastore

* Include a default number of retries
* This default number is used for every file: images and zip files
[#56] Check for previous attempts of uploading images

* If an image is already uploaded, skip it
* Use long type for respondentId, instead of casting it everywhere...
[#56] Add filename index

* Increase DB version.
* Create 'filename' index in transmission_history.
[#56] Update all records for a particular filename

* Given a filename, update _all_ the records
containing it (i.e. multiple survey instances).
* Check for file/respondent pairs before
attempting to create records.
* Reuse (update) existing records.
[#56] Retry images that didn't make it to S3

* After the sync cycle is completed, images that
are not yet uploaded have a new opportunity
of getting to the datastore
* Add 'notifyServer' flag to check if we need to
notify GAE after an upload attempt.
[#56] Add consistency in query parameters

* Use the same format in all queries
* Fix log severity
[#56] Refactor transmission status updates

* Initialize a transmission with the 'Queued' status
[#56] Request missing files to the back-end

* Implement device notification request.
* Parse json response, containing the list of missing files.
* Update the status of missing files in the database.
[#56] Handle the creation of missing images transmissions

* If the transmission is not in the database, we create it
* Return the number of affected rows in the 'update' function
[#56] Handle unknown missing files

* If the file exists in the filesystem, we mark its status to failed
* Otherwise, we ignore it
[#61] Fix file path creation
[#61] Notify GAE of uploaded images (missing)

* Reuse 'processor' endpoint for image action
Merge branch 'issue/55' into develop
[#62] Update version number