Add dtype argument to Function

Allows construction of fields with non-default data type.
Build cell orientations as DG0 field

Rather having a special cell orientation Dat that lives on cells, just
build it as a normal field, excepting that it has an int datatype.  This
simplifies our life enormously when passing cell orientations for
non-cell integrals.
Bump compatible FFC version
Test co- and contravariant facet integrals on manifolds

We should be able to assemble facet integrals in H(div) and H(curl)
spaces on embedded manifolds.  Test this by assembling an interior facet
integral with positive and negative restrictions and assert that it sums
to zero.
Merge pull request #277 from firedrakeproject/more-cell-orientation

Use DG0 field to hold cell orientations and pass in to kernels for facet
integrals as well as cell integrals.
Working latex manual generation.
TrialFunction -> TestFunction
Add test of upwind flux construction

Construct a BDM1 flux F such that div(F) == D0 where D0 is an upwind DG0
approximation to div(u*D).
Merge pull request #283 from firedrakeproject/ffc_interface_test_fix

TrialFunction -> TestFunction
swap TrialFunction and TestFunction variables to match naming convention
Merge pull request #284 from firedrakeproject/flux_test

Add a test of upwind flux construction.  Construct a BDM1 flux F such
that div(F) == D0 where D0 is an upwind DG0 approximation to div(u*D).
Merge pull request #285 from firedrakeproject/latex_docs

Edits to the RST so that make latex and make latexpdf work.
domain_data -> subdomain_data
update ufl Argument counts from -2, -1 to 0, 1
domain_type -> integral_type
domain_id -> subdomain_id
integral.measure() deprecation changes
Add ufl_domain and ufl_id to Mesh
Construct FacetNormal on domain not cell
When building finite elements, use ufl_domain not ufl_cell.