tracker-processing-queue: Added first draft of new processing queue

This data structure allows us to efficiently look up files requested via
hinting, and at the same time efficiently retrieve random files for
processing.

There is no priority capabilities in this data structure, as opposed to
tracker-priority-queue. It is however possible to force a file to be
processed before all remaining files, by running the prioritize function
and giving a hint.
tracker-processing-queue: Added length and find functionality
tracker-processing-queue: Added foreach_remove function