Implemented Configuration Reading

All the pieces were more or less in place before-hand, this diff ties
it all together to actually read config files/command-line args.
There's not much novel code in here, aside from the function to parse
string arguments into values it's just a little bit of glue code.  The
included test checks both the integration of the existing parts and
the correctness of the value parser.