improve performance of merge stream

This PR extends the GtMergeStream to use a different strategy for ensuring sortedness of the output, given _n_ sorted input streams. By using a priority queue to implement a _n_-way merge in logarithmic time per merged CC, the run time is improved to _O(m_ log _n)_ for _m_ total features, instead of _O(mn)_ as in the previous approach. Closes #348.
Because it's simply copied and pasted from uniq_stream.c ;) Should compile to the same result though.