back porting backend changes from master
more backporting
last backport, I think
doing away with strict and verbose modes

also giving the main translation function a better API
finishing up new API
adding an automated test runner

(currently failing)