Making extent optional for projections

The projection validity extent is used to generate a sensible
set of default resolutions and a sensible default tile grid.
By making it optional, we can still generate defaults - with
zoom levels that are similar to the default web mercator zoom
levels (based on fitting the world on a single tile, even if the
projection is not available for the whole world).
Serve WMS tiles for sources without specified extent

With this change, WMS sources do not need an extent configured.
The result is that the WMS will be queried for tiles for any
extent.
New example using a projection unknown to the client
Making it clear that Proj4js is used
Do not set center constraint

This change slipped in accidently. Thanks @twpayne for catching
this.
Merge pull request #793 from ahocevar/proj-no-extent

Making extent optional for projections. r=@twpayne
Merge pull request #788 from fredj/mapevent

Remove defaultPrevented attribut from ol.MapEvent
Add ol.control.MousePosition.setProjection