separate out errors into their own file, and make them slightly more helpful

fixes #9
This should live in a project-specific subdirectory to namespace it properly.  Otherwise you might collide with someone else's errors.rb.