Fix basemap switcher

fixes #114 on github

The basemap switcher was not loading because it was loading after a line
of code that was producing a NullPointerException, both of which were
contained in a silently failing try-catch block. So when the earlier
code failed, the basemap switcher was not initialized.

This commit does the following:
Remove the line of code that was crashing entirely - it turned out it
did not need to be fixed, it was not necessary.
Add a log message and toast for when this try-catch block fails, so it
can be debugged more easily.
Refactor basemap initialization out to a helper to be DRY.
Yay lambdas!