Add flag to allow UnrecognizedOptions to be treated as non-options

Added a flag to allow accepting unrecognized options as non-option arguments. 

We needed this change to provide backwards/forwards compatibility of arguments passed around.

I've tried to stick to your coding scheme as much as I could, I'm quite sure you'll find something to pick on (import order, naming). Feel free to do so.