Project Restructure - to suit gem


Focusing on clarity of usage and loosing those pesky require_relative

* new structure for the ruby files
* no added functionality - code should be exactly the same
* clean up of small bits of unused code that make the "requires'' and load files tricksy to understand

/cc @annashipman @snehaso