MB-10273 Implement deduplication in file sorter and merger

The current k-way file merger is not designed to handle
duplicate entries. We need to be able to merge multiple
sort record files which are created at different points in time.
The merge should be able to be peformed such that it deduplicates
entries according to the file priority. If there are duplicate
entries for same key across multiple files, the entry from highest
filenumber should be picked.

Refactored file_merger to handle deduplication. Also changed file_sorter
behavior such that if two operations for same key results in the sorted
records, it will pick only the latest operation for the key. Hence it
ensures that only one operation per [key, docId] is atmost present in
the sorted record files.

Change-Id: If3ad629e06fc0aaba97cdbba68db9bc27dd56bb3
MB-10273 Add tests for file merger with deduplication

Change-Id: I26618c6fd5f02c9b8b79ff9377315ef19e620bfd
Add exit message listener thread for view file merger

Add support for view file merger process to exit if an
"exit" message arrives or stdin pipe is closed.

Change-Id: I5dd812f002222241ee0362601409d19b84067679