clean up require paths

* use require_relative instead of needing to grab the directory of the current file
* use the full paths of files for autoloading, so that the files from the installed gem aren't loaded accidentally during development
* spec_helper can simply be `require`d, since the spec directory is added to the load path by rspec