getopt_long: neater errors
add long options, and update usage message