Like getopt, only better.