Use ocamlbuild instead of corebuild.

As we're not depending on core we shouldn't be using corebuild.

Originally this started out with corebuild because it made everything
work and I was feeling lazy and not wanting to learn about ocamlbuild
and the _tags.
Change all FS functions to return 'status' type

This is how we want to deal with errors -- it forces the caller to make
an explicit decision about how to deal with the error. Rest of the code
base will get these updates in a bit.

* FS.result also changed to use the same error handling strategy
* fs tests updated. Also cleanup: removed use of '_' and changed
  to '()' where appropriate.
* Updated cat to take on new changes
* Updated Loop as well to have same return type.
* Removed Loop's 'ok' function that I accidentally left in a few
  commits ago.