Increased npts in plotting routines.  Added controlling kwarg.  Added func to make a data array from separate components.  TODO: consider adding to data class itself.
Modified prediction code - hadn't used it up until now.  Turns out that there was a bug in the data model involving original_shape.  The 'fix' is a bit hacky and horrible - added a 'getrows' fn to dDataArray that strips the original shape.  Otherwise reshape eventually gets called with nonsense shape params.
Modified surface plotting code to take this into account.
Added TEMPORARY testing file to check that code output is scale-invariant as expected.  TODO: add this to tests and delete this file.
FIXME: chicago run seems to be failing in implement_delta_effect - very narrow x triggering and all triggering seems to be in y-direction... Can't think why this is happening, but doesn't *appear* to be a property of the data.  It switches dimension if the input data are swapped, so not a simle bug.
Think it might be a norming issue, but can't spot anything out of place.  Try Dividing y data by 10 to get on same scale, then see what happens?
Changed data model implementation for cartesian etc...
Now array is a member of the class rather than the class itself.
Advantage: can explicitly deal with original shape issues
Disadvantage: need to add all operations manually.
Think this will overall be better, especially given the limited number of operations required??
Updated tests accordingly TODO: need to add more for more advanced classes.
Updated kernels code to use these new classes.  Created generic norming tests.  Failing on reflective case - why??
Merge branch 'rewire_Sepp' of https://github.com/gaberosser/crime-fighter into rewire_Sepp