Add method to determine winding order of linear rings
Store rings so exerior is clockwise and interior is counter-clockwise

KML and WKT don't specify a winding order, so we write those out in CW/CCW order (for exterior/interior).  GML references ISO 19107 that specifies CCW/CW, so we serialize in that winding order.

Having hand generated all this GML data the first time around, I reserve the right to modify it for the tests.
Remove ol.MapBrowserEvent#stopOtherInteractions

and check for false/true in the return from handleMapBrowserEvent. Refs #791.
Add ol.View2D.prototype.setZoom
Remove unused createContinuous function
More type checking for View2D
Use constrainResolution function

Use the constrainResolution function when setting the initial view resolution.
Merge pull request #833 from elemoine/stop-other-interactions

Remove ol.MapBrowserEvent#stopOtherInteractions
Doc typo
Dir build/gh-pages renamed to build/hosted
Merge pull request #835 from elemoine/setzoom

Add ol.View2D.prototype.setZoom
Merge pull request #809 from tschaub/clockwise

Consistent winding order for polygon rings.
Merge pull request #854 from elemoine/remove-gh-pages

Rename build/gh-pages to build/hosted
Add ol.View2D#getZoom
Zoomslider cannot be added to a map with no target

The zoom slider control's initSlider_ function requires that the control's element is inserted in the document. So if initSlider_ is called before the map have a target then the slider isn't correctly initialized. This commit fixes that by defering the slider initialization until the first handleMapPostrender call.
handleMapPostrender may get a null frameState
Merge pull request #855 from elemoine/zoom-slider-fix

Zoomslider cannot be added to a map with no target
Add ol.control.Zoom#zoomByDelta function

To replace ol.control.Zoom#handleIn_ and ol.control.Zoom#handleOut_ callbacks.
Better docs for View2DOptions
@class doc for View2D