Attempt to fix build

Updating to latest Jig release 2.0.3
Add difference series calculation and declutter ns.

- Add difference series calculation
- Add median calculation of difference series
- Declutter data namespaces by splitting them
- Update timestamp format of measurements
- Add functions to retrieve meters that are broken or mislabelled
Merge branch 'feature/data-quality'

* feature/data-quality:
  Add difference series calculation and declutter ns.
Security

Added security store in C* and basic and cookie-based authentication
mechanisms.

AMON API rooted to /3 as per specification

Now that bidi has been fixed to support it, we can now use this feature.

Replace blank screen with a 404 representation

Remove uuid regex, it's deprecated
Charts integration

Integrating the security work with the charts DOM nodes
Merge branch 'merging'

Conflicts:
	dev/kixi/hecuba/dev.clj
	dev/kixi/hecuba/dev/etl.clj
	src/kixi/hecuba/amon.clj
Fix missed merging issues.
Moved map to correspond to ns
Use UTC, allows for UUIDS in URIs and initialise sensors.

Display sensor's status.
Add more measurements.
Change sha1-regex to allow for uuids in URIs.
Initialise new sensors on post.
Use UTC time zone.
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
wip. add button and popup dialog.

Dialog is a mess at the moment. needs more work.