Fix implementation of `some` for `BConst`

The default implementation diverges for `Alt` parsers
Allow options to consume an arbitrary number of arguments
Unify options and flags