main: add list and select solver

Improve the command line interface:

- Add options -l to list available solver (closes #3).
- Add options -c str to select a solver (closes #2).
- Add options -o str to run solver with specific options (closes #1).

Examples:

$ efyj -l
available solver:
 classic            Default solver
 hash               classic solver, hash table and integer vector options
 hash_string        classic solver, hash table and string options
 bigmem             classic solver, big memory cache and integer vector options
 bigmem_integer     classic solver, big memory cache and integer options

$ efyj -c bigmem -o 112221 ../test/Car.dxi
Processing [../tests/Car.dxi]
(attribute: 10, basic attribute: 6, problem size: 972)
Results:
 bigmem:2