Refactor plugin

* Use better and more consitent variable names
* Extract local functions to simplify logic
* Make non-public functions local
* Add rake task for running tests
why `return` here instead of `call`?  `RunNearestSpec()` and `RunCurrentSpecFile()` use `call`