Update gemfile
Require simplecov ~> 0.8
Tweak gemspec, add description
Move error classes definitions into separate file
Add missing errors file
Base class formatting and comments
Add set_defaults_method on base
Github method naming tweaks