Changed getopt_long semantics, reorderd iterator return values, optarg is now string instead of number. This allows getopt_long to closely mimic getopt

Renamed getopt_long to getopt, changed short options type from number to
string, updated example