Only create SparsityPattern when required

Remove BiLinearForm::pattern_
Change Pattern to be created in BiLinearForm::init()
Change BiLinearForm Observer to set a flag instead of directly rebuilding the pattern
Change Pattern ctor to replace call to init
Make Pattern::init protected
Add MatrixFacade::init() and implementations MatrixBackend::init() with no argument
Change MTL matrix backend slot size calculation
6 jobs for feature/keep_pattern in 32 minutes and 30 seconds (queued for 1 second)
latest
Status Job ID Name Coverage
  Test
passed #15718
dune-2.6 debian-10 gcc-8-17

00:17:00

passed #15719
dune-2.6 debian-9 gcc-6-14

00:13:33

passed #15720
dune-2.6 ubuntu-18.04 clang-6-17

00:11:35

passed #15721
dune-git debian-10 gcc-8-17

00:26:41

failed #15722
dune-git debian-9 gcc-6-14

00:01:48

passed #15723
dune-git ubuntu-18.04 clang-6-17

00:19:00

 
Name Stage Failure
failed
dune-git debian-9 gcc-6-14 Test
lib/CMakeFiles/dunegeometry.dir/build.make:62: recipe for target 'lib/CMakeFiles/dunegeometry.dir/__/dune/geometry/referenceelementimplementation.cc.o' failed
make[2]: *** [lib/CMakeFiles/dunegeometry.dir/__/dune/geometry/referenceelementimplementation.cc.o] Error 1
CMakeFiles/Makefile2:1886: recipe for target 'lib/CMakeFiles/dunegeometry.dir/all' failed
make[1]: *** [lib/CMakeFiles/dunegeometry.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
--- Failed to build dune-geometry ---
Terminating dunecontrol due to previous errors!
ERROR: Job failed: exit code 1