Schema: add 'exists' filter type and 'has' filter type for lists

New filter types added:
- exists: check that object has certain element and it is not None
- has (for lists only): check that list has a certain value (using
  'eq' matcher of subtype.

Additional refactorings performed:
- search argument parsing moved from schema to element types;
- new parser, boolean_from_string, extracted from Boolean
  schema type.

Change-Id: I70a541055e1d855caa41b7f084c9bba9ccd421bb