Introduce timeslider object

This commit introduces a new TimesliderClient object which will
eventually handle all communication with the server in a sane fashion.

At the moment, minimal work has been done to wire the existing code into
this object. The current 'on("MESSAGE_TYPE")' model will change so that
the timeslider object is actually the one managing all the information,
instead of delegating it all out to callbacks.

This current version still works just as the stock version did.
handlers dict needs to be in AuthorizedClient; cleanup
Initial UI classes, with working partial rendering

The slider handle and stars render correctly. Not yet wired up to real
events.
forgot to add jquery.class plugin

without this, the timeslider and sliderui classes don't work
Working slider with mouse and events

Working slider class with mouse handling (click, drag) and events
(change, slide). Lots of console logs still in the code.

Got rid of some of the legacy code.
Steppers/Play-pause now in CSS

Also, the steppers actually work.
Split slider out to a separate file
add revisioncache which is destined to replace broadcast_revisions
add missing require for jquery.class
wrong findPath function. corrected
Fix typos, add Thread class
Add configurable interval
Working changesetloader (no caching)
PadClient initial
Spike of revision graph
Fix syntax errors
add missing break
Cleanup code (jshint)
Missed one element
working revision/changeset graph

findPath works. transition requests changesets from server. processing
of changesets works correctly.

Only need to manage the async-ifying of transition, which is currently
written as a while loop, (with a short-circuit break for debugging).