Dirichlet BoundaryConditions with general value gridfunction
Currently the gridfunctions in DirichletBC are simple std::function<Range(Domain)>
. This should be generalized to arbitrary grid functions. Maybe using the type-erased gridfunction wrapper from dune-functions.