Error build immediately on parse error

This creates the build, job and a log with an error in it.
Add tests for parse error build erroring
Add Job#log_content=

This creates a log if one doesn't exist and sets the content of the log
to a given string.
Pull parse_error logic to a separate method
Set aggregated_at when setting log content
Merge branch 'master' into hh-error-build-on-yaml-parse-error
Merge branch 'hh-error-build-on-yaml-parse-error' of https://github.com/travis-ci/travis-core into hh-error-build-on-yaml-parse-error
use update_attributes with a bang, to make it pop!
add a log line for when the config can not be parsed
fetch_config returns a hash with a string key not a symbol
test out some changes to how the job is updated in add_parse_error_build
stub finish!, and remove the start stub
change where the transaction is bound to

this affects the where clause of the sql to fix the max for the next build number

i don't know why this is happening, but it is replicatable in the console
I can't explain why this is happening, but trying this fix

for some strange reason, the config is being saved to the build and job
models incorrectly ({":.result"=>"parse_error"})
this is an attempt to fix it
go back to using strings, because we love them
only allow for jobs and builds which have a valid config to be resetable
Merge branch 'master' into hh-error-build-on-yaml-parse-error
fetch_config: Fix parse_error spec

The error raised wasn't a parse error, so the spec wasn't testing what
it was claiming to test.
fetch_config: Include message for parse errors
Request::States: Add info to parse error message

The error message includes information on where in the config the error
occurred, as well as what kind of error occurred.