Refactor error handling
Do not publicly expose utstring.h anymore
Convert the tests to use the new API