Add Transition.failed field

This enables explicitly marking a transition that failed.
Duration-based function have been abstracted out, times are
now timezone aware (using Django timezone util)
Add system detail monitoring page

This auto-refreshes every 5 seconds and updates transition
states
Abstract out base template components

Add System Backbone View class, move polling logic to System
class, simplify initialization.