Categorize user errors

* Categorize a bunch of illegal argument exceptions as user errors
* Categorize division by zero as a user error