Add advanced_search support to library and backends

Adds support for 'advanced_search', which allows you to specify a
desired return type, so you can do things like search for albums or
search for artists, without having to retrieve all tracks for that
artist/album. Makes 'list [whatever]' MPD commands much more efficient
for the default local backend.