Add parser for OGC Filter 1.0 and 1.1 (read/write)

This work is based on the ol.expr package by @tschaub.
It adds a few named expression functions to that package:

 * INTERSECTS, CONTAINS, DWITHIN, WITHIN (no client-side implementation as yet)
 * LIKE (like comparison with wildcard, singleChar and escapeChar)
 * IEQ (case-insensitive equality)
 * INEQ (case-insensitive non-equality)

It also adds a few extra parameters to the existing EXTENT function to be able
to deserialize and serialize all info (i.e. projection and property name).

Some changes were needed for the GML parser as well:

 * createGeometry function needed to be public
 * when parsing Box (GML2) and Envelope (GML3) also parse the srsName
 * fix up writing for Box and Envelope now that bounds is an array

Also added createDocumentFragment function to the XML parser. Implementation
is similar to OpenLayers 2.

Some addtional notes on the implementation:

 * PropertyIsBetween was implemented as an ol.expr.Logical with operator
   ol.expr.LogicalOp.AND and two ol.expr.Comparison instances with operator
   ol.expr.ComparisonOp.GTE and ol.expr.ComparisonOp.LTE
 * In OGC Filter And and Or can contain more than 2 sub filters, so this
   is translated into a hierarchy of ol.expr.Logical
address most of @tschaub's review comments, use dot notation where possible still needs to be done, and I have some questions on the _expression reader still
more dot notation
make filterMap_ static as proposed by @tschaub
Export TileGrid functions
Export tilegrid.WMTS functions
Export ol.source.TileSource and its getTileGrid func
Export ol.layer.Layer and its getSource func
Upgrade Font Awesome to version 3.2.1
Add zoom to extent control
Add navigation controls example
Rotate to north for custom controls example
No need to impl setMap in ZoomToExtent control
Add basic ol.animation api doc
Allow VectorSource to load and parse data

This adds url, data and parser options to the source, and makes
EPSG:4326 the default projection. It also adds a prepareFeatures
method, which is used to load/parse data once the target
projection is known.
Removing unused methods and changing getFeaturesObjectForExtent

With this change, getFeaturesObjectForExtent may return null if
the source does not have data loaded for the provided extent.
A callback can be passed to getFeaturesObjectForExtent to get
notified when the requested data is available.
Updating examples to use the new API
Remove unused ol.Object#setOptions function
Merge pull request #866 from fredj/object.setOptions

Api docs does not list Object#setValues
Merge pull request #860 from elemoine/exports

Add exports