Add an option to create a new area if polygons have changed

The default behaviour of the generic import script, if it finds
an area with the same name / code in a previous generation, is
to replace the polygons associated with that area.

However, we may want alternative behaviour, where if a new
generation of data has a changed boundary for an area whose
name / code remains the same, we create a new area with those
polygons and preserve the previous one.  This commit introduces
that change with the --preserve option.

Fixes #52
Add a verbose option and more logging to the generic import script

Particularly with the --preserve option, it can be useful to see
more detail about what would happen to each boundary.
Add a simple command to print all areas in all generations
Make sure that areas with the same name have the same colour

The simplest way to do this is to reseed the random number generator
based on the name of the area before picking a random hue.
mapit_import: show a percentage representing change in the boundaries

When --verbose is specified, this will also show the percentage
difference between (a) the area of the symmetric difference
between the old boundary and the new boundary and (b) the area
of the old boundary.  This is a reasonable indication of how
much an area with the same name / code has changed from one
generation to the next.