refactor KSA error handling
remove extra string error return parameters and leave only err in almost every function
Note to testers: Functionality and happy path should not change. It is possible that some of the error messages on error differ from the current ones, as in some cases error objects propagate the stack and bring their own messages.
Edited by Damyan Mitev