remove broken feature, support for multiple data types
support new style BoolExpr which may not contain commas

- Fixes bug that failed to parse "in clause" as a valid BoolExpr due to
  dependence on detecting BoolExpr by the presence '=', ':', or '~'.
- Removes support for list of BoolExpr statements, e.g.
  name=foo,name=bar.
- Moves exception throwing deeper since all practical exceptions would
  have been rethrown.
- Add some test coverage.