BOBO-286 Make SortCollector more extendable

We have a use case requiring changes to SortCollectorImpl behavior, but don't want to implement that functionality in the original code. Make the class extendable and have it constructed in a factory.

https://senseidb.atlassian.net/browse/BOBO-286