Complete mal::string::parse coverage
New module mal/options and initial mal::options::flag implementation
Make all flag API public, no need for friends
mal::options::flag_set implementation and tests
Disable changing assignment function after flag construction

Changing it afterwards might break storing flag argument parser result to
associated storage, creating hard to discover bugs.
Move flag pointer definition to flag class
mal::options::command_line parser
mal::options::var_map
Merge branch 'wip/options' into next