[FEATURE] Various small changes

* Adds several different Exceptions to handle different situations
* Corrects spelling in comments, function names, variables
* Corrects annotations, PHPDocs where needed