combined_mutation_reader: avoid unnecessary merge_mutations()
combined_mutation_reader: avoid unnecessary merge_mutations()

Merging mutations is quite an expensive operation. The creation of
streamed mutation merger involves several allocations (mostly coming
from various std::vector) and then all mutation_fragments need to go
through a heap.

All this is completely unnecessary if there is only one mutation, so
let's skip a call to merge_mutations() in such cases. This also means
that we can reuse memory allocated by _current vector if merge is not
required.

duarten/scylla,duarten/scylla,avikivity/scylla,scylladb/scylla,duarten/scylla,scylladb/scylla,scylladb/scylla,avikivity/scylla,avikivity/scylla,scylladb/scylla