(maint) Refactor test task to use standard rake notation

Previously the test task was defined using rspec::core::rake_task, which
evaluates all of the code and loads needed libraries. Unfortunately, this means
that even if someone weren't intending to run rake test, they would need all of
the test dependencies. This commit addresses that by updating the test task to
shell out to rspec, passing along the test pattern. This allows the needed
libraries to be loaded only when required, and not when evaluating the
Rakefile.