First stab at taking care of predicates in Ronja

* Adds a Selection logical plan
* Adds a selectionApplicator, which is the class responsible
  for applying predicates when possible
* Makes expandAndJoin and the initialiser use it for each plan that
  is produced