Add `@todo observable` documentation for observable properties

This PR adds documentation for observable properties, which will then be pulled into the docs correctly once #1180 is merged.  This is a first pass based on searching for definition of observable properties being defined as enums after lines ending with `Property = {`.  If there are observable properties implemented that don't follow this pattern then they are not included.

I've added simple descriptions based on what I know or could easily figure out, there may be some properties (like preload) that are not correctly described.

I've also added `readonly` annotations where I knew that a property was readonly.  I may have missed some readonly properties.

ol.layer.Base has a bunch of properties but I don't think it is exported so the documentation of these properties will not show up, so I added the documentation to ol.layer.Layer instead even though this isn't really where it should be documented.
Proper map extent for GetFeatureInfo request

Note that with and without this change, the pixel provided to the ol.source.wms.getFeatureInfo function will be wrong if the view has non-zero rotation.
Tests for the image wms source
Emulated click events on mouse devices

The map already emits emulated `click` and `dblclick` events on touch and pointer devices. With this commit the map emits emulated `click` and `dblclick` events on mouse devices as well.
Emulate click events only on mouse "action"

`click` events are fired only if the mouse action button is pressed. This prevents `click` events from being fired when the middle mouse button is used.

Also, without this commit, in Chrome with emulated touch events enabled, double-clicking the map doesn't zoom the map. This is because `ol.BrowserFeature.HAS_TOUCH` is `false` in that environment. The commit fixes it by testing `isMouseActionButton` on mouse devices only.
Remove unused ol.MapBrowserEventHandler#relayEvent_ func
Remove mousedown listener on first touchstart
Add tests for emulated clicks
clickOnly condition checks map clicks
Merge pull request #1188 from tschaub/gfi-extent

Correctly generate BBOX in URL for GetFeatureInfo in ol.source.ImageWMS.
Map "click" event renamed to "singleclick"

As discussed with @tschaub in #1195.
Merge pull request #1195 from elemoine/click

Emulated click events on mouse devices
add Terms of Service to the Bing attribution

make sure the epsg4326Extent is constructed with the correct arguments
Merge pull request #1201 from bartvde/bing

Terms of Use link missing in Bing attribution (r=@ahocevar)
Merge pull request #1181 from pagameba/doc-observables

Add `@todo observable` documentation for observable properties
Test that ol.Collection#extend fires events
Merge pull request #1209 from twpayne/collection-extend

Test that ol.Collection#extend fires events
Merge pull request #1186 from fredj/validate_valueAsNumber

mouse-position example: Projection select issue
[wip] Getter and setter support for bindTo
[wip] Remove 'valueAsNumber' property from ol.dom.Input