improve consistency in parsing primitives from strings
The motivation is to provide a simpler and safer means of extracting integers and labels from strings. There are several benefits:
- catch bad label/scalar input for command-line options/arguments which may be human generated or via scripts.
- easier/clear to work with when input has already been lexed, without using an IStringStream()
- work directly with C++ strings instead of C-string.