Add flag datatype, which wraps boolean values.

Flag types can only be embedded in maps and so carry no update
context. Also adjusted the spec on the to_op/1 callback since flags
don't produce tuple operation types.