Send build:created outside of build:created.

It caused messages to be sent for builds that were subsequently
not created, e.g. in case of an illegal YAML file. These builds
were then not created because the previous implementation didn't
return the build object. The notification part is now part of a
separate method instead, which is only used for creating a valid
build.

Fixes travis-ci/travis-ci#2249.