Second iteration of property parser function

* supports multiple values for a property
* returns empty string if there is some error (@todo nicer error handling/feedback for editor)
* supports wikibase item, commons media and strings
* supports lookup by property id; lookup by label is experimental
* has in-process caching
* handles PropertyValueSnak and ignores other Snak types (returns empty string), with @todo marked

@todo:

* tests
* handle no value and other property snak types
* memcached support and optimization
* use terms table for property id/label lookups
* generic value formatter for string, to put in ValueFormatters

Change-Id: I70a9ff2976940ecf601320ecece35943e89e94bc
Merge "Second iteration of property parser function"