Animation duration control

As [requested on the mailing list](https://groups.google.com/d/msg/ol3-dev/UWIWLkNP8fA/LoJxJaC9QOoJ), this PR makes the duration of zoom animations in both controls and interactions configurable.

They are configurable both individually (through options to their constructors) and through `ol.control.defaults` and `ol.interaction.defaults`.

Example:
```javascript
var map = new ol.Map({
  controls: ol.control.defaults({
    zoomOptions: {
      duration: 100 // 100ms, use 0 to disable
    }
  }),
  interactions: ol.interaction.defaults({
    zoomDuration: 100 // sets duration of all animated zooms to 100ms, use 0 to disable
  })
  // ...
});
```