Non-backwards-compatible change: separated local assemblers for integral
and local operators. In addition, removed the
ElementaryAbstractBoundaryOperator class.

Rationale: LocalAssemblerForOperators was an artifical creature: half of
its functions were used only in the assembly of integral operators,
the other half only in the assembly of local operators. This was because
originally we did joint assembly of integral and local operators in ACA
mode and so a common class encompassing both functionalities was needed.
We now know this common assembly is a bad idea, so there is no reason
any more for this design wart.
Updated some internal calls in grid_function.cpp to new-style syntax.
Corrected the implementation of operator= in ScalarSpace.
Removed a test module that caused problems on Macs.
A plot range [a, b] for the real/imag part is now automatically mapped to
the right range for the squared norm.
In Python one can now give to a solver a nested list of operators
(w/o creating a blocked operator explicitly).
Merge branch 'separate_local_assemblers' into release_2.0
Commented out a debug message.
BoundaryOperator::operator*() initialises the result GridFunction with
projections rather than coefficients (as it used to before commit
876df82e95a38e15c59a3f5a66432fdc3b01c644).
In Python, discrete operators can be now multiplied by 1D vectors.
Made it possible to create discrete operator compositions in Python
(via the multiplication operator).
GridFunction::evaluate() is now available from Python.
Merge branch 'release_2.0' of https://github.com/bempp/bempp into release_2.0
Changed PiecewiseConstantDualMeshScalarSpace to PiecewiseConstantDualGridScalarSpace
Added missing swig file.
Fixed a bug in the grid check
Fixed segment bug in PiecewiseConstantDualGridScalarSpace
Python fixes for barycentric spaces
Debugging piecewise constants on barycentric
Added missing file