Moved files, added tests, currently broken.

Moved files around to better match gem conventions
Implemented some of harvester.
Added tests