Added select() variant with QgsFeatureRequest for simpler construction of requests
Allow access to feature attributes by name
Further tweaks to QgsFeatureRequest API, support featureAtId
[API] added QgsFeatureIterator, changed QgsVectorProvider API

Vector data provider now has getFeatures() method to access features.
select(), nextFeature(), featureAtId(), rewind() were removed resp. moved to provider's feature iterator implementations.

Providers that currently do not implement the new API were disabled.
Fixes after rebase
Removed unused QgsFeature::typeName() and QgsFeature::setTypeName()
Removed unused QgsFeature::isDirty() and QgsFeature::clean()
QgsFeature: use a vector of attributes instead of a map (for faster access)
Store attributes and fields in vectors instead of maps
Skip rendering of features without geometry
Enabled delimitedtext provider again
[FEATURE]: add base mechanisms for OGR feature style export
Implement ogr style in simple line symbol layer
Add enum to vector file writer describing the type of symbology export
Possibility of choosing symbology export method in export dialog
Fix width of simple line style
QgsVectorLayer: large internal refactoring

Most important changes:
- introduced feature iterator for QgsVectorLayer
- vector editing moved to QgsVectorEditBuffer
- complete rework of undo/redo commands for vector layers
- geometry cache separated from editing (QgsVectorLayerCache)
- non-essential editing functionality moved to QgsVectorLayerEditUtils
Merge remote-tracking branch 'origin/master' into new_vector_api

Also disabled mapserver until compilation is fixed.
Fixed tests.

Conflicts:
	src/app/legend/qgslegendlayer.cpp
	src/app/qgsattributedialog.cpp
	src/app/qgsattributedialog.h
	src/app/qgslabelpropertydialog.cpp
	src/app/qgsmaptoollabel.cpp
	src/app/qgsvectorlayerproperties.cpp
	src/core/CMakeLists.txt
	src/core/composer/qgsatlascomposition.cpp
	src/core/qgsexpression.cpp
	src/core/qgspallabeling.cpp
	src/core/qgsvectorlayer.cpp
	src/core/qgsvectorlayer.h
	src/core/qgsvectorlayerimport.cpp
	src/mapserver/qgsprojectparser.cpp
	src/mapserver/qgswfsserver.cpp
	src/mapserver/qgswfsserver.h
	src/mapserver/qgswmsserver.cpp
	src/providers/postgres/qgspostgresprovider.cpp
	src/providers/spatialite/qgsspatialiteprovider.h
	tests/src/core/testqgsexpression.cpp
	tests/src/python/test_qgsmemoryprovider.py
Better error handling
Add coordinate transform to symbol layer vector export