Alternative search musiclibrary

This PR is NOT meant for pull consideration. It is only made as a basis for discussion for pull request #246.
Yeah, it is in a few places. What I like about this, is that it works both with and without paging and (more importantly) it gets all the items in as few queries as possible, by always getting as many elements as the unit will send. The implementation in the snapshotting code assumes that there is a maximum batch size of 486 (and therefore uses a batch_size of 400). This I think has 2 problems.
 1. I'm pretty sure the maz=486 is not correct, since I have seen varying batch sizes when I just get as many items as it will give me. I suspect that the batch limit is in fact not a maximum number of items, but a maximum payload size, which is the reason the number of items vary. If I'm correct, one might be able to contrive an example where the batch_size=400 will not work, if you e.g. have a lot of items with really long titles (maybe classical) the batch size might in fact be limited below 400.
 2. If indeed the maximum batch size is around 486, we will end up performing 486/400~20% more queries (with network latency and so on).

While I don't think any of these issues will cause problems in the snapshotting code (because it only deals with the queue) it will be problematic for e.g. getting all the tracks.