rework driver generation code, add reg map<string, vector<uint>>
rework driver generation code, add reg map<string, vector<uint>>

exposing the available register names as a traversable C++ obj can
enable a more flexible SW structure -- for instance, performance
counters could be added with a "perf_" name prefix, and can be auto
discovered during runtime

maltanar/fpga-tidbits,maltanar/fpga-tidbits,maltanar/fpga-tidbits