Web Application

This change adds a web application that sits on top of the data
exposed by the REST-ful APIs.
Merge branch 'web-application'
Handle Jenkins double-finish

Previously, the webhook did not take into account the fact that
Jenkins sent two messages at the end of a run.  This meant that all
Jenkins builds showed as UNKNOWN by the time they were over.  This
change updates the webhook to understand this double-finish.