Cleanup

Two commits here: 

* remove the obsolete 'direct' model parameter
* test.py recurses indefinitely when an unknown algorithm is specified on the command line