Added a cleandev target to setup.py
/map link was failing to create a GnomeMap object.
In /map link, we were not forming CORS compliant exception responses.
Refactored the CORS compliant exception responses into a common function that can be called.
added Water object to environment.implemented_types -- added the change
to oil_lib_refac branch consistent with py_gnome branch.
Water object contains a dict that is not a nested object. Updated
_CreateObject: if 'obj_type' is present it dict, it is a nested object
added base class tests for Water object
Exposed Weathering (mass_balance) outputter through WebAPI
added base class test for it
added san diego bay location file
added scale_by parameter to location files with component mover
added kaneohe bay, narragansett bay, and ropme sea area location files
added evaporation as a supported object
added tampa bay location file
updated tests to use/test Evaporation module.
Base class core.Weatherer is no longer serializable - half life
functionality moved to HalfLifeWeatherer but this still needs tests in
PyGnome so not added to WebAPI yet
- added 'substance' to tests so oil_library gets queried
- also added Evaporation module and 'substance' to full model run so
  weathering is turned on
added mock Dispersion, Skimmer, Burn object to weatherers. Also added
the simplest test for each
Merge branch 'oil_lib_refac'
look through the weathering step output and find the results with the highest and lowest amount of floating oil and add them to the response.
start with a whole object not just the floating attribute.

it was possible for the first output to have the most or least floating out for the step and thus didn't have any other attributes other than floating.