Partitions `predicates` into non-temporal, and lower and upper temporal bounds. The first returned list is of predicates that do not contain `mz_now`. The second and third returned lists contain expressions that, once evaluated, lower and upper bound the validity interval of a record, respectively. These second two lists are populated only by binary expressions of the form ```ignore mz_now cmp_op
(mut mfp: MapFilterProject<E>)