Remove invalid map->terminate()

Map has already been destroyed by this point, so the
call is invalid. The work that terminate() would do
has already been done.
Move setReachability to CachingHTTPFileSource
Add CachingHTTPFileSource::clearLoop()

So loop state can be cleaned up in the appropriate thread.
This is a hack; loop needs to be externalized from Map.

Fixes #686
get/setBase may be called from main thread
Create GlyphStore up front
Change Map::stop to use std::function<void()>

Fixes #685
Move setAccessToken to CachingHTTPFileSource
disable uv_thread_self() asserts, ref #623