Add ol.Geolocation
Add missing export file for ol.Geolocation
Add projection property to ol.Geolocation
Handle projection change in ol.Geolocation
Simplify control architecture
Add a marker at the device position
Set handleProjectionChanged from protected to private
Add 'undefined' return type for all get* functions
Ensure ./build.py -c cleans examples/example-list.xml
Build precommit target by default so precommit dependencies get cleaned by default
Change ol.Kinetic.update arguments.

Instead of goog.events.BrowserEvent, accept a x,y pair.
Replace ol.animation.createSpin with ol.animation.createRotateFrom
Merge pull request #181 from fredj/rotation-anim

Replace ol.animation.createSpin with ol.animation.createRotateFrom
Remove unused and erroneous function, thanks @tschaub
More natural names for animations
Make frame state available before rendering frame

Without this change, tiles that are enqueued on the first rendering will always get priority `ol.TileQueue.DROP` because `map.frameState_` is not yet defined (meaning a single render call doesn't result in any tiles loading).
Only track tiles that are actually wanted

Instead of keeping track of wanted tile ranges, we can instead track wanted tiles individually.  This provides enough for the map to know how to prioritize tiles and should be more efficient (no extra calls to extend tile ranges or check for tile containment within a range).
Don't repeatedly render while waiting for tiles to load

Instead of going into an unnecessary animation loop, we can simply wait to be notified when tiles load.

The WebGL renderer still sets frameState.animate true, but I think this too should be unnecessary (full page example works without it, side-by-side example shows it cannot yet be removed).
Merge pull request #179 from fredj/kinetic-update-arg

Change ol.Kinetic.update and begin arguments.
Improve LRUCache containsKey test, thanks @tschaub