Add a style option for vector layers

This can be a single ol.style.Style, and array of styles, or a style function.
Add tests for vector layer
Use style option in vector layer examples

Providing a styleFunction option still works because the layer property is still named styleFunction.
Give vector image source a style option
Give feature overlays a style option
Common code for creating a style function
Delete style option before passing to base
Give the draw interaction a style option
Avoid clashing with user property names

Features are records with any number of user set values.  Separate from this, we rely on feature properties like the feature identifier and feature style.  The two (user properties and our internal properties) should not be mixed.
Tests for get/setStyleFunction

It would be nice to also test the following:

    it('does not return user set property with the same name', function() {
      var feature = new ol.Feature({
        whatever: 'some value',
        styleFunction: 'another value'
      });
      expect(feature.getStyleFunction()).to.be(undefined);
    });

Unfortunately, in uncompiled code (or if we export `setStyleFunction`) this does not work.  Same goes for user set `id` properties (this will set our internal `id_` property).  See #1672.
Add setStyle and getStyle methods to ol.layer.Vector

The setStyle method accepts a single style, an array of styles, or a style function.  The getStyle method returns what was set.  Internally, we use the getStyleFunction method which always returns a function.  When calling setStyle, a change event is dispatched (fixes #1671).
As with the vector layer, feature overlays have getStyle and setStyle
Add setStyle and getStyle to ol.Feature

As with vector layers and feature overlays, feature style can be set by calling
setStyle.  Calling getStyle returns what was passed to setStyle.  Internally, we call getStyleFunction.
Export setStyle for vector layer
Documentation and exports
Create anonymous functions in an execution context with limited scope
Merge pull request #1690 from tschaub/style

Accept a style option and provide setStyle and getStyle methods.