Support insertion of multiple Property of the same type into a CDSObject.

This changes GetProperty() to GetProperties() returning a list of all
matching Property.

It alters AddProperty() to allow multiple insertion of Property with the
'm_bAllowMulti' flag set.

Calling GetPropValue()/SetPropValue() on a Property which exists
multiple times in CDSObject will only set/get the most recently
inserted Property. This may not be what the user intended, so for
now we print an error to the logs (under VB_UPNP) warning but we still
allow it. This behaviour may change if a reasonable solution can be
determined and it's deemed necessary.
UPNP: Support multiple artwork sizes for recordings, video and music

Additionally:
* Add support for coverart albumArtwork for recordings
* Send preview image for recordings as a resource <res> instead