[linearelliptic...thermalblock] updates

* use boundary info from AHKO2012
* use 4x4 partition from AHKO2012
* introduce logger.visualize
[examples...thermalblock] use SGrid (as in AHKO2012)
[gitignore] added *.swp
[linearelliptic...thermalblock] minor fix
[linearelliptic...thermalblock] added first draft of a localized variant
[examples...online_enrichment] added first draft
[cmake] added online_enrichment example
[...problems.interface] changed from & to shared_ptr

It became increasingly difficult to generate problems on the fly. Since the
Problems::Default takes shared_ptr, I switched back to getting shared_ptrs
from problems, so the data functions can be easily exchanged.
[problems.default] update
[problems.default] allow copy ctor
[...problems.zero-boundary] base on Problems::Default

Upon updating to expose the shared_ptrs I ran into very strange segfaults
that I could not resolve. Using the updated interface I can now base this
class on Problems::Default and get let the base class handle the memory.
[problems.interfaces] added with_mu()
[...discretizations.swipdg] fixed wrong pattern computation
[...discretizations.swipdg] updated problem usage
[...discretizations.block-swipg] update problem usage
[...discretizations.block-swipg] added create_ones()
[...discretizations.block-swipdg] added first draft of estimate_local()

Very unsure if this already does what it is supposed to.
[...discretizations.block-swipdg] added visualize_information()

Not sure if this is correct...
[...discretizations.block-swipdg] added solve_for_local_correction()

Not finished yet.