Changes for geotiff and database entry

Make some changes to get ready for making the
geotiffs, and adding to database:

- In get_metadata, we need to store some additional
  information (coordinates, angles etc)

- Refactor the recombining method so that it returns
  a dictionary of dictionaries (1st key = sensor,
  then 2nd key = band). This is because we will use
  array2raster from the image ingestion code, and
  that expects a dictionary as input
  Also change the unit test to reflect the change.
Add initial make_geotiffs method

Add first iteration of a method to create
geotiffs of the recalibrated data.

It loops through the target sensors, then
loops through the list of images (ie the
different dates) and saves as geotiff.

Bands that weren't present in the original
file are padded as an array of nans, so that
all the geotiffs contain the same number of
bands, regardless of which sensor they came
from.

Files are saved in a subdirectory following
the naming convention of the normal sensors,
where the sensor name is SUPER_REF_[reference]

We name the geotiffs like this:
super_[target]_ref_[reference]_YYYY-MM-DD[_direction].tif
('_nadir' or '_fward' is added if it was present
in original filename)

Still to do: think of way to provide the root
of the save directory (currently hardwired).

Also, currently falls over if trying to loop through
MERIS images, as the originals are not all exactly
the same size (one pixel different). Nit sure why
this is.
Add test for make_geotiffs