Simplify errors
Convert core middleware to classes

Also re-organized the repo, putting middleware into its own directory.
Re-organize exports
Add uppercase getters for class-based middleware
Update CHANGES
Style tweaks