Implement rotation for vector valued dofs on periodic bc

Authors: Daniel Arndt, Matthias Maier

These commits complete the interface for periodic boundary conditions.
Now, the interpolation matrix (that is already 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).

The testcase that is added in the second commit will be extended to a full
example step replacing the current (and horribly outdated) periodic boundary
condition step along with detailed documentation.
ugh -- can you align arguments and default values to make this easier to read?