Add re-ranking feature

The re-ranking (the -r argument) options, interface, skeleton class and process
Add batch re-ranking feature

The -br argument
Add MMR process, using random similarity for now

TODO: comput similarity between documents.
Add setter and getter for totalWords variable
Update MMR re-ranking and add batch GetDocTermStats
Add PortfolioReranker and Update BatchGetDocTermStats
Roll back unnecessary changes
Add MAP switch in batch summary, false by default
Redesign the -r and -br arguments, using -m to specify the underlying model
fix batchgetdoc