clean up flags support

- The IMP::base::Flag class was added to simplify adding flags in C++.
- The `--log_level` and `--check_level` command line argument now take strings (eg VERBOSE) to specify their values, rather than cryptic (and a bit unstable) numbers.
- Command line options are now divided into normal and advanced ones. You do  to show the advanced ones.

close #691
relates #687