constructor changes

* constructors are now self-correcting when called without `new`
* removed schema preparsing
* removed .new and .newCollection statics
* (unrelated) error messages now use a custom error class