Upstream compatibility

Changes to support new Domain infrastructure in UFL.  Needs https://bitbucket.org/mapdes/ffc/pull-request/33/merge-in-up-to-date-upstream-ffc/diff as well as UFL changes.  Please check carefully, it's a bit involved.