Move checking for orientation flag to ffc_interface

Now that we're splitting forms, the orientation flag needs to be
determined for each sub-form, rather than the original form as a whole.
So do that by devolving the job to ffc_interface.  When an FFCKernel is
instantiated, it now carries information about whether it needs a
cell_orientations argument or not.
Add test of mixed helmholtz problem on sphere

This exercises cell orientation passing for split forms.
Merge pull request #311 from firedrakeproject/fix/hdiv_manifolds

Checking for orientations needs to happen on a per-kernel basis, not a
per-form basis.

* fix/hdiv_manifolds:
  Add test of mixed helmholtz problem on sphere
  Move checking for orientation flag to ffc_interface