Completely class-ified the hardware_interface package. CMakeList options have been adjusted to work with the new structure. Has not been tested on hardware. Some reorganization may impact intended performance. Please tweak as necessary.