Update QgsPalLabeling to work with new vector api

- Switch data defined properties from field index- to name-based
- Add routine to migrate properties to new keys:  labeling/dataDefined/[enum name]
- Add QHash containing old-style data provider mapping of index to name for use in properties migration
- Update QgsLabelingGui, QgsMapToolLabel, QgsLabelPropertyDialog to work with name-based properties