PAs store their own lnglat

To show search results on a map, we need to know where to place PA
markers. This is expensive to do per request, so instead we store the
lnglat values on the PA when it is imported.
Installs leaflet markercluster for map search
Compress precompiled assets with uglifier
Large refactoring of Javascripts

Previously all JS would be loaded on all pages. This is now restricted
on a controller basis, to make deciding what map to render easier: the
PA page uses the PA JS controller, etc.

Alongside this, the PA Map has been refactored out in to a generic map,
with the PA map handling only the rendering of the CartoDB tiles. This
way, the soon-to-exist search results map can separately hold its own
bits of logic, thus preventing a giant map class to solve all problems.
Adds a search results with points API

For showing search results on a map, we have an API endpoint that takes
a search query and returns a set of results with basic attributes
including the PA coords.
Merge branch 'map-search' into redesign

* map-search:
  Adds a search results with points API
  Large refactoring of Javascripts
  Compress precompiled assets with uglifier
  Installs leaflet markercluster for map search
  PAs store their own lnglat

Conflicts:
	app/assets/stylesheets/application.css