Copy boundary conditions utility function
This is in relation to #245
Instead of changing the core functionality of FunctionWrapper
and other base FE functions, it might be easier if we have a templated utility function to do the copy for each FE function as needed. This would be useful for certain use cases and benchmarks.
One additional effort would be to refactor the solvers to call this bccpy
instead, but should be easier. Currently only done in PETScLUSolver
which passes the test.