Custom errors for TS client
The TypeScript client now throws custom errors that correspond to the HTTP status code when an error occurs. This provides more details about the actual nature of the error that occurred which should allow for better error handling. The custom errors contains a cause
field that contains more information about exactly why that type of error might have occurred. These custom errors were modeled after their Java Exception counterparts provided in JAX-RS.