Some additions. Have no idea if they're good
Added new CSS classes for warning messages.
Rebuilt the Option class to be a little more usable from the web front-end
Return a standard response for index.html, not a template.
Whitespace fixes
Built result.json request handler which returns JSON

Also uses the new selection functions which are a little bit saner.
Built improved relay selection functions.

These replace the existing selection functions, which were pretty
inefficient (write to string, parse it back again), with ones that
parse Python objects around.
Added a JSON encoder for Result objects.

Also added the ability to zero-initialize some fields in a Result
Added static assets for Select2 and AngularUI
Transformed form to use Angular
Whitespace fixes
Transformed results page to use Angular
Switched to using minified bootstrap css
Yay. App.py
Added a function to emulate the command line functionality of the old code
Fixed a couple of bugs found in testing.
Fixed bugs around link printing
Added support for 'short' option.

Of note, I don't understand why the short option exists.
Fixed 'short' option
Cleaned up the select_relays function