Use env var besides PATH to call tests

My Ruby implementation begines with `#!/usr/bin/env ruby`, which
doesn't work when PATH gets overwritten.
Initial working OCaml version
Improve OCaml style (maybe?)
Add some comments
Pull in Batteries & refactor

* readline/stdin stuff instead of buffer
* String.to_list instead of rolling own
* Make key into circular linked list
More factoring & file renaming
Use maps instead of recursion to build strings
Rename a couple functions for great consistency
Remove unnecessary parens
Use let/and syntax over nested lets
Don't need to explicitly require unix lib

Batteries probably just does it.
Guess 'Bat' isn't required
Add Rakefile w/ clean/check/build