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.
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.
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
Merge pull request #857 from elemoine/view2d-docs

Better View2D docs
Merge pull request #840 from fredj/zoomcontrol

Add ol.control.Zoom#zoomByDelta function