Add lots of documentation

Also removes the get_url functionality to a util module in geoclaw
Abstract URL fetching and extraction

Generalizes parts of the tests module's remote data fetching routine.  In
particular the routine now uses urllib2, mainly for the better exception
raising capabilities.
Fix bugs in retrieving and writing remote files