lots of changes: got the cratesData bit working in a simple mode - it doesn't check to see if data is already there rather it reloads everything. This means the URL changes appropriately in the browser and so different views can be bookmarked and the back button will work correctly. This also paves the way for more intelligent interfaces for the other components - dataStore and diff. Fixed a couple of bugs in the model.js where it was still referencing topModel in the two getIndex methods. crateData returns a promise that sets up the model when it resolves allowing a flag to be set when it is finished and so enabling a loading message to be shown. Diff component seems to be broken at the moment...