Touch and comment in places that will be affected.
Rewrite of form.py to avoid using form_data. This removes the possibility to pass various data to Form if you have a ufl.Form, but not if you have a ufc.form. May not be what we want, doing this now just to get going.
Merge branch 'martinal/topic-redesign-form-preprocessing-mechanism-old' into martinal/topic-redesign-form-preprocessing-mechanism

Conflicts:
	site-packages/dolfin/fem/form.py
Bugfixes.
Bugfixes.
Make some error checks into warnings to cut some slack. For now.
Disable checking for GenericFunction because it fails, but seems like there may be something else fishy behind this...
Fix CahnHillard2/3D.ufl whitespace so the diff is only the cell.
Add dF.p0 = p0; etc. in main.cpp demo files where the set of form coefficients now "includes" all original coefficients.
Use coefficients, function_spaces, and subdomains in Form when getting a ufl form. This is deprecated, should be removed. To get tests passing for now.
Bugfix.
Remove J.p0 = p0; etc. in main.cpp files that were changed previously.
Update XDMFFile to accept multiple functions in one file
Merge branch 'martinal/topic-redesign-form-preprocessing-mechanism-unmerged' into martinal/topic-redesign-form-preprocessing-mechanism

Conflicts:
	test/system/ufl-jit-assemble-chain/assembly_derivatives.py
	test/unit/la/python/Matrix.py
Update unit tests, removing assemble(a, mesh=mesh) deprecated in 1.4.
Remove reset_sparsity argument to assemble.
Remove arguments mesh,coefficients,function_spaces,common_cell from
assemble* and Form.__init__.
Disallow FacetNormal(cell) etc., now require FacetNormal(mesh) etc. for geometric quantities.
Remove use of cell argument to geometric quantities.
Fix systemassembler warning when a and L both provide the _same_ subdomain data.