Library Updates

I’ve just merged some library and documentation updates that came in courtesy of Adam Richter. There’s been quite a bit of code cleanup, plus integration of code for usbfs support on Linux. Some of this still needs to be integrated into the cmake files, but the source is up to date, at least.