Feature: allow dotted predicates

This allows the user to use dotted Python names for their predicate factories.