added more constants and Water properties
moved code to get valid_units from hazpy into helper function called
gnome._valid_units(name). Updated code to use this as relative import.
Also removed unused imports
changed nameto be Water consistent with other objects
added water attribute to Spill. This is automatically passed into the
SpillContainer in prepare_for_model_run and gets set for all Spills.
Added update_intrinsic_properties() method to Spill object, called in
release_elements. Need tests.
update_intrinsic_properties is invoked for each step even if no
particles are released.
added a test for serialize/deserialize Evaporation with update_from_dict
fixed bug in update_intrinsic_properties
Merge branch 'master' into area_calc

Conflicts:
	py_gnome/gnome/environment/wind.py
refactored 'get' function
fixed update_intrinsic_properties so it sets density using API if water
object is not defined
moved code to compute 'avg_density' to _write_weathering_data instead of Evaporation
added a bool called 'weather' as input to SpillContainer.prepare_for_model_run()
Currently this appends 'density' array_type - the idea is to extend the
list of default array_types if weatherers are defined.
Evaporation no longer needs to define 'density' - it will automatically
be added if any weatherer is defined
fixed an error introduced by last refactor
Checked in a python notebook that describes the Adios amount spilled uncertainty ().
Created the amount spilled uncertainty method for Adios uncertainty runs.
- Spill object has a new attribute (amount_uncertainty_scale)
- Spill object has a new method set_amount_uncertainty()
- ModelConsumer can now adjust the amount uncertainty
- ModelBroadcaster can now identify a single consumer by its uncertainty characteristics.
Incorporated the new multi_model_broadcast module into py_gnome.gnome.
Model:
- added water attr to Model: there is only one water like the map
- in setup_model_run, set/unset self._intrinsic_props object if there are any
  weatherers. Also define default Water() if None is found
- If no weatherers, make self._intrisic_props None so we don't carry
  unused data arrays

SpillContainer:
- SpillContainer().weathering_data attribute is set by IntrinsicProps()

Spill:
- removed 'water' attribute - this is now contained in IntrinsicProps()

- refactored save_load to make code more reusable by Model's overloaded
  load method
updated tests with changes in how IntrinsicProps are handled
moved the test_weathering_data_attr test to test_model
moved spreading code in IntrinsicProps for now to see how it would work
added functionality in Model and IntrinsicProps to update_array_types
Density is always present, but array_types for computing 'area' are only
added if 'area' is part of the array_types collected by the Model.
added/removed comments and reformatted code
updated to use 'area' data_array
fixed error in updating 'area' in IntrinsicProps