Transform functions that work with arrays

Instead of working with `ol.Coordinate` instances, transform functions work with arrays.  This is in anticipation of using transform functions to transform large arrays of vertex coordinate values.  

The `ol.projection.transform` and `ol.projection.transformWithCodes` are slightly more convenient functions for dealing with `ol.Coordinate` instances.  It may be misleading that the functions returned from `ol.projection.getTransform` and `ol.projection.getTransformFromCodes` return functions that work with arrays while the other two work with `ol.Coordinate` instances.  Discussion welcome.