Add austin, hard code clojurescript version.
rename /tables to /programmes & local js files.
Add local version of some 3rd party libs.
Add history and bookmark support.

Large change.

Reworks how data propagates around the page. Core concept is that the
URI of the window is king. When page loads on /programmes, the page
loads the programmes table only. The programmes table has onClick
handlers on each row. All those handlers do is call
history/update-token-ids with the row id and some table identifier. This
add a 'token' to the URI (basically a trailing #something). The token is
considered an opaque string. It looks like:

{:args {:ids {:programme <sha1 of selected programmes row>
              :project <sha1 of selected programmes row>
              ...
             }}
 :search <some string (url encoding should work).

The history object (provided by google closure's goog.History) allows
registration of a listener on the history and we register one and put
the change events onto a core.async channel. Each table has a (ajax ...)
section which is a go-loop processing history token changes. The
history-channel is linked to each of the (ajax ...) blocks via a
core.async multiplex. Basically they get the map shown above and can
decide what to do. Mostly they build a URL to hit the AMON API, filling
in parts of the URI using the ids from the token.

There are a few other subtlties - we store the selected id for each
table in the app-model, this makes it easier to add dynamic
titles (e.g. Projects - <selected row in programmes). The titles could
be components themselves and also listen to history but that seems like
overkill, we may consider that if the requirements become more complex.
Merge pull request #4 from MastodonC/history-with-bookmarks

History with bookmarks