Alternative search musiclibrary

This PR is NOT meant for pull consideration. It is only made as a basis for discussion for pull request #246.
Personally I feel just fine. I imaging that if I were to write a complete client, then I would probably use this method instead of the helpers (You might do some fancy stuff with translating some search selection in the client to the search type strings that we use and this avoid a lot of manual coding), so I think we should keep it public.

Hwoever, with that many options, we should probably expand the docstring with a few examples.