Upstream UFL/FFC compatibility

Requires, and required by,

https://bitbucket.org/mapdes/ffc/pull-request/58/upstream-compatibility-merge/diff
https://bitbucket.org/mapdes/ufl/pull-request/19/upstream-compatibility-merge/diff