Fix the events#show page when an event contains lat/lng information.

The map_marker partial is moved to `views/shared` to be shared globally.

This addresses #490.
UserLocationAgent: Receive events and accept POST via WebRequestsController.

Show the POST URL on the details page while at it.

The old user_location_updates URLs still work.

This addresses #490.
Integrate UserLocationUpdatesController into WebRequestsController.
Give user an option to drop pending events when enabling an agent.

This is shown in a confirmation dialog introduced for enable/disable
actions.
Merge pull request #504 from knu/user_location_agent-issue-490

Update UserLocationAgent
Fix debug code.
Reduce duplicates.
Add a tooltip for the "Drop pending events" option.
Make drop_pending_events a virtual attribute of Agent.
Do not update last_checked_event_id if an agent cannot receive events.

Use `maximum` while at it.
Move these specs to the right splace.
Add a spec for how drop_pending_events= should work.
Merge pull request #511 from knu/agent-drop_pending_events

Give user an option to drop pending events when enabling an agent.
Add a scope `with_location` to Event.
Add Event#location.
Refactor the map_marker partial.
Compact map_marker.js and use Utils.jsonify.
Remove the map_marker partial, which is no longer useful.
TIL: `x ? y` in CoffeeScript is a shorthand for `if x? then x else y`.
Introduce a Location class.