Implement rotation for vector valued dofs on periodic bc

This commit completes the interface for periodic boundary conditions. It
exposes the interpolation matrix (that is internally used to satisfy
hanging node constraints on periodic boundaries) and provides a possibility
to generate it from a rotation matrix and an index for the vector component
in question (in a similar vein as we already do this for different vector
valued finite elements).

Signed-off-by: Matthias Maier <tamiko@kyomu.43-1.org>
add accompanying tests

Signed-off-by: Matthias Maier <tamiko@kyomu.43-1.org>
Add a changelog entry
Merge pull request #257 from kronbichler/master

Fix undefined symbol in MPI::MinMaxAvg without MPI, commit 97bd7e2.
fix comments and style issues
Merge pull request #256 from tamiko/branch_periodic_bc

Implement rotation for vector valued dofs on periodic bc
Initialization of FEEvaluation like FEValues

A new way to initialize an FEEvaluation object (fast tensor product evaluation routines) has been introduced.
It takes the same arguments as the initialization method of FEValues, namely a Mapping, a FiniteElement, a
one-dimensional Quadrature<1> object, and update flags. This enables using FEEvaluation on the fly just as
FEValues. Since FEEvaluation treats objects of one base element only, this class can select which components
to read.

The concept is explained in the documentation of the FEEvaluation class and an example for the Laplace matrix
is given. However, it also works for the Stokes operator as shown by the test program assemble_matrix_02.