Collects all applyDirichletBC() free-functions in one file

The free-functions `hyteg::applyDirichletBC()` no longer depend on PETSc,
but were still in header files such as P2Petsc.hpp. This commit collects
them all into a new file **sparseassembly/DirichletBCs.hpp**.

This allows to remove the following, now empty, header files

 - composites/petsc/P1StokesPetsc.hpp
 - composites/petsc/P2P1TaylorHoodPetsc.hpp
 - composites/petsc/P2P2StabilizedStokesPetsc.hpp
 - p2functionspace/P2Petsc.hpp

and cleanup includes.
30 jobs for mohr/cleanupPETScIncludes in 174 minutes and 42 seconds (queued for 2 seconds)
Name Stage Failure
failed
inteloneapi_22.1_mpionly_dbg_eigen_petsc-complex_trilinos Test
hyteg                    = 594.80 sec*proc (254 tests)

Total Test time (real) = 459.47 sec

The following tests FAILED:
129 - P2PetscSolveTest3 (Failed)
Errors while running CTest
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
inteloneapi_22.1_mpionly_eigen_petsc_trilinos Test
hyteg                    = 515.35 sec*proc (254 tests)

Total Test time (real) = 451.92 sec

The following tests FAILED:
129 - P2PetscSolveTest3 (Failed)
Errors while running CTest
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1