Move filter1 test data into .in file.
Add another filter test.
Change how predicate splitting works.

It is now done in the internaliser, and full predicates are generated
for each function.

Certificates are not yet replaced inside reductions and maps.
Fix bug in compile-time function application constant fold.
Fix some ImpCode type annotations.