Move dispatchChangeEvent and getRevision into ol.Observable

As suggested by @elemoine, this PR moves `dispatchChangeEvent` and `getRevision` into `ol.Observable`. This code was previously duplicated in `ol.Feature`, `ol.geom.Geometry`, `ol.layer.Base`, and `ol.source.Source`.