Third Relase of First Minor, C++ rewrite
Changes since last release:
* logging is now done to debug instead of info;
* a lot of code cleanup;
* improved comments;
* allow an option to be specified more than once, which makes it
easy to grab all the values as a vector;
+ constructor added for option groups without synopsis;
+ port item::matching() over from the python branch and
+ construct the wanted item from cli arguments.