Add more tracking of tool executions.
Add more tracking of tool executions.

This change adds basic logging of tool executions (more work should be done
later on determining when a tool execution has timed out, etc.). Review Bot
workers will now update their corresponding tool execution with their status
whenever there is a failure or when they have just begun 'running'.

For an error, the tool execution will be updated with the status 'failed' and a
result containing the error message.

Testing Done:
Manually executed a tool profile with errors, and saw a PUT with with the
'failed' status and the error message. Verified that the tool execution object
had the correct contents and that the tool profile was still executable. A
review was not published.

Manually executed a tool profile that had no errors, and saw a PUT that updated
the tool execution's status to 'running', followed by a PUT with the
'succeeded' status and JSON review results. A review was published.

Reviewed at https://reviews.reviewboard.org/r/6238/

reviewboard/ReviewBot,reviewboard/ReviewBot,reviewboard/ReviewBot,reviewboard/ReviewBot