Clarify "identifier" syntax in UI fields

Our UI fields all have an "identifier" (e.g. `plot.geom`) which we use for communicating values between client and server. Be more consistent about how the first part is handled:
* Spell it consistently, as the model name with a lowercase first letter (e.g. `benefitCurrencyConversion`)
* Call it the "object name" not the "model name", since it is capitalized differently than the model name
* Add and use utilities `to_model_name()` and `to_object_name()`
Templates for adding resources

* map_add_resource.html contains the "Add Resource" steps
* hidden_addresses.html contains our hidden address fields. Templates which include it (e.g. map-add-tree.html) supply the appropriate "object name" so the fields will have the right identifier.
* div_radio_bool.html allows us to have radio-button-style boolean fields, with labels drawn from field.choices (if present)
* Fix a syntax error in inputs.html which prevented dropdowns from including their options
Update base_instance.html

* Instances with resources now show a "+" dropdown menu to add a resource or a tree. (Tree-only instances just show "Add a Tree")
* Show "Add Resource" button when instance supports resources
* Change label "Explore Trees" -> "Explore Map"
* Change label "Manage Tree Map" -> "Manage"
* Rename `instance.stores_plot_only` as `instance.supports_resources` since we were always calling it with `not`
New map mode and module `addResourceMode`

* When user chooses resource type, fetch and install detail fields using type-specific template
* Only enable final "Next" button when all fields have been filled in
* Show/hide subquestions depending on yes/no answer

Also:
* `safe_get_model_class` now looks in `map_features` app as well as `treemap`
* `reverseGeocodeStreamAndUpdateAddressesOnForm` now works with e.g. `rainBarrelLA.address_*` as well as `plot.address_*`
* `formToDictionary` now handles radio buttons