Add expression language for defining linear and bilinear forms
Motivated by Fenics' UFL, this allows to define (local assemblers for) linear and bilinear forms on nested dune-functions function spaces using a convenient expression syntax. The generated assemblers use several internal optimizations, e.g. caching of basis functions and sharing of shape function evauations between subexpressions.
Class documentation with doxygen is currently rare and need to be improved. However, users don't get into direct contact with these classes, Instead the main documentation is provided by a short manual describing the concepts and user interface and several examples.
This was originally developed in a separate module, where the development history can be found:
https://git.imp.fu-berlin.de/agnumpde/dune-fufem-forms
See #23 (closed) for a discussion on the features of this.