Matthew, new interface using exceptions

* new interface using exceptions for all errors
* imported tests from Skydeck
* build no longer uses oasis, only Makefiles