Maps: Hide Google API from public use

- Rename hasApi to hasGoogleApi
- Move public use of hasGoogleApi to MapHelper
- Mark hasGoogleApi private
Change map display to use OpenLayers

This also uses Google Maps API v3, which eliminates the need for an API key.
Drop old javascript for map handling, add picture locations
Add popup for each marker
resize map popups to match content
Use OpenLS service for geocoding

This adds an authenticated proxy service to phTagr to work around CORS limitations
Avoid duplicate markers
Only add popup if there is something to show
Fetch markers on pan or zoom
Move maps javascript into separate file
Use nominatim for geocoding

Since they support JSONP, this eliminates the need for a proxy, so drop that.
Also move maps support into its own class, no global namespace pollution necessary.
Merge pull request #11 from pgeorgi/maps

Use OpenLayers for maps