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.