Separate step for specifying roof geometry
leaflet-editable-polyline.js
Dynamic step numbers and total step count reflect chosen resource type

* Use CSS counters for step numbers
* Use JavaScript for total step count
* All non-current steps have class "prev" or "next" -- never invisible so they'll always be counted by the CSS counters
Show/hide "roof geometry" step depending on type of resource

* Resource classes may declare which field name is their "area_field_name"
* If chosen resource type has no area_field_name, hide the "roof geometry" step
* Hide the step by adding "inactive" class
* stepControls.js skips over inactive steps
Implement "roof geometry" step

* Add initial roof polygon (20x20 meters) to map
* Save roof geometry polygon
* Show/hide polygon point handles depending on step, and use nice icons

Manage roof polygon and location marker as user navigates "create resource" steps
* Don't show location marker until step 2
* Once location is chosen, show location marker disabled on all other steps
* Only show roof polygon during step 3
* plotMarker.js allows showing a movable marker without animation

Also, use "droplet" marker for setting resource locations on the map
Convert leaflet-editable-polyline to use polygons instead of polylines
Add safety code to prevent exceptions when `that._map` is null
fix lint
hide roof polygon on deactivate
Merge pull request #1237 from RickMohr/specify-roof-geometry

Specify roof geometry