Add build failures to UI

Summary:
This refactors the FailureReason concept to allow abstract rendering of build failures (as well as makes them extendable):

https://www.dropbox.com/s/tudzg5x7ngeo6ax/Screenshot%202014-06-02%2018.14.48.png

Additionally to better support the UX of data it moves events to the bottom of the page build details:
https://www.dropbox.com/s/22n8ok6wuf4p3ke/Screenshot%202014-06-02%2018.15.50.png

Reviewers: cf

Differential Revision: https://tails.corp.dropbox.com/D50984