Converted config structure to C++ class

The config structure is now a C++ class.  Also updated the parsing
behaviour to operate on strings instead of char pointers.  A lot of
other classes needed to be updated to directly use the new option
fields.

The library had some magic behaviour that it would automatically
turn the name that was passed in into "libr9_<whatever>.so".  That's
not really appropriate for such an object, so it now just operates
on whatever got passed in.