Move map-related code from app.js to mapManager.js

...so we can put a tree map on other site pages (like the plot details page)
Prevent map clicks from requesting undefined id

I removed the broken truthyOrError helper from baconUtils and replaced
it with fetchFromIdStream, a helper that makes ajax fetches when an ID
is defined and returns a default value otherwise. This prevents spurious
AJAX requests with invalid URLS.

Closes #260
Clean up browseTreesMode.js

  - Create more accurace scope by moving variables inside the `init`
    function that are not used by any other function in the module

  - Normalize the treeDetails DOM id to the more conventional
    tree-details

  - Remove the last hard-coded DOM id from the module and pass it in
    through the options hash when calling init.

  - Do not declare `clickedLatLon` as a variable. It is not reused.
Merge pull request #264 from RickMohr/refactor-map

Move map-related code from app.js to mapManager.js
Merge pull request #266 from jwalgran/fix/260-request-undef-popup

Prevent map clicks from requesting an undefined id
Adding filter() to mapManager.js

Missed that in the first refactor.
Merge pull request #269 from RickMohr/map-manager-handles-search

Adding filter() to mapManager.js