Add tests for topo objects

Adds tests for topo objects.  Also includes some bug fixes for said
objects.  Note that this commit still does not include support for
topo_type 1 even though the tests for them exist.
Finish implementing topo type 1,2, finish tests
Implement projection and fix multitude of bugs
Fix unstructured data output conflict with topo_type writing

Also fix bug when not writing a masked array
Add basic output for dtopo, removing old code
Add SubFault class

Basic functionality is implemented and based on the `okadamask` function
in okada2.py.
Fault coordinates now working
Fix transformation for fault extents

Also adds a visual test for the SubFault class
Add latlong_location to okadamap
Remove auto plotting of rake
Change to new distance conversion functions
Fix minor bug in colormap specification and add 'asc' file type
Merge remote-tracking branch 'rjl/topotools' into topotools
Combine and move new topotools efforts

Moves the new topo and dtopo classes into topotools and dtopotools
modules removing old functions if they have been replaced.  Note that
the dtopotools module is a mess still.  All Okada functionality has been
moved into the dtopotools module.
Remove old topo module

All of its contents can be found in topotools or dtopotools
fixed some typos in topotools.py
changed default depth_extent in plot function to be symmetric about 0
topo_type==2: need to flipud, topo_type < 0 also has to be supported for case when Z > 0 is below sea level