Fix failure to enable fields after "add another tree"

The marker was being recreated but its 'dragend' handler wasn't being reset.
Solution is to only create the marker once, and only enable its dragend handler once.
That also allows simplifying the code by removing bindMarkerEventsOnce().

Also:
* Unbind popup when leaving browseTreesMode so it won't reappear
* Patch Leaflet so it won't crash
Simplify plotMarker.js

`addMarkerToMap`:
* Rename as `onMarkerPlacedByClick`
* Don't export, as it's not referenced externally
* DRY it out by calling onMarkerMoved(), which does exactly what the removed lines do

Also:
* Remove markerPlacedByClickBus (and its exported name markerPlacedByClickStream) are currently unused (`markerPlacedByClickStream` was referenced in addTreeMode.js, but so is `markerFirstMoveStream` and that will
have an event whenever the other would have.)
Merge pull request #777 from RickMohr/fix-add-another-tree

Fix "Add another tree"
Fix template typo: isntance -> instance

fixes #775 on github.

The 'Move Tree' button data-always-enable attribute was always being set to "False" because of this typo, causing the button to remain disabled by the buttonEnabler.
Merge pull request #783 from steventlamb/bug/775/disabled_move_tree

Fix template typo: isntance -> instance