Get non-const reference for option value if needed

Now it is possible to get non-const (read-write) reference to underlying
options value storage variable. This is useful if you want to modify some option
in place and store it back to cmdline::parser.
Fixes clang warning about implicit conversion

"Implicit conversion looses integer precision"
Serialization & deserialization with os << & is >>

Options marked for serialization (new add() parameter, on by default for
options with value, off for others) are now serialized with `ostream << cl`
operator and deserialized with `istream >> cl`.
Merge branch 'fix-implicit-conversion' into devel
Merge branch 'nonconst_reference' into devel
Hidden options feature
Exception based alternative API via try_parse
Pass flags as flags to avoid too many arguments

Now optional, required, dontsave and hidden are cmdline::flags.