Specific case for complex predicate rendering

I have a specific case, but it requires juggling a few things. For now
these changes work. But there is some additional refactoring that
needs to happen to tidy things up.

Also adding a rudimentary generator for complex predicates, Not that
its all that helpful, but its something.

Closes #17
Appeasing the hound
Merge pull request #34 from jeremyf/issues-17-complex-predicate

Specific case for complex predicate rendering