Refactor to allows Location to have a parent.

Because backends now return locations it makes sense to be able
to base a Location of another Location from which it is offset.
Prevent Locations with parents they don't fit in.

TODO:
  Unit tests.
Merge pull request #14 from tonysimpson/master

Improvements to Location
Rework best_convolution for greater clarity
Comments on convolution
Comments on convolutions & code cleanup for clarity
Bug fix: result from convolution match. Result is inside template
Tests for convolutions
Further tests for padd_bin_image... and docs
Rename variables
Add some comments
All locations should have _image. Fix copied attrs
Fix tests for change in Location
Merge pull request #15 from ant1441/convolution

Convolution
Merge pull request #16 from ant1441/location-fix

Location fix
Reduced ACCURACY_LIMIT to get rid of bad matches.
Merge pull request #17 from tonysimpson/master

Reduced ACCURACY_LIMIT to get rid of bad matches.
Added tests for convolution
Fixed an edge case with the overlap convolution.
Merge pull request #18 from tonysimpson/master

Fixed an edge case with the overlap convolution.