Annotations (#1220)

See travis-ci/travis-ci#1220 for main tracking issue.

Please don't merge this until we at least have support for annotations in the API, but please do leave comments if I did something "wrong" in implementing this.