Search strategy

Added the following options to the command line interface.

* --search PreferSmallerInstances
The solver tries to find smaller instances.
* --search PreferLargerInstances
The solver tries to find larger instances.
* --search Random
The solver tries to find instances randomly. Each solution is NOT equally likely (i.e. not uniform distribution). Expect duplicat solutions. REQUIRES --n option to terminate.