[boost] [spirit][qi] How to write a boost::spirit::qi parser to do what '?' does in regex?