[common.parallel] adds gcc workaround in threadmanager

see also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47226
[functions] fixes forward mismatch
[cmake] rewire TBB discovery to match EXADUNE branch
[cmake] win -> unix line ends
[grid.walker] passing gridView by value
[df.projection] fixes compile of heterogenous proj.
Merge remote-tracking branch 'tobias/master'
[grid.provider.cube] update const grid_ptr() variant

To be on the safe side, when someone does something like

    const auto& grid = *grid_provider.grid_ptr();

which should be valid, since the underlying shared_ptr is guaranteed (by
the grid provider) to not change.
[grid.layers] return by value, instead of shared_ptr
[grid.provider.interface] return by value, WARNING

This commit changes the behavior of grid providers. From now on all
methods involving grid view or parts will return new instances of that type
instead of a shared_ptr. The implications should be small (don't deref what
you obtain from a grid provider anymore) but special care has to be taken
if the return value is given to a longer living object storing a reference,
which will break from now on, since it will hold a reference to a temporary
grid view:

    const OperatorType operator(*grid_provider.view());

See the following commit to get an idea of the changes necessary.
[test.grid_provider] update grid provider usage
[la.container.eigen] fixed 4beb48913766058fc6c6bcf45591371c4a6c3aed

There were several errors related to the recent split of the eigen backend
which are hopefully fixed now.
[la.container...interfaces] give default for ScalarType

This allos the interfaces to be used as they were before.
[cmake] silence dune-fem warning w/o alugrid present
[common] adds -Wundef to gcc branch in disable_warnings.hh
[grid] removes deprecated ConstDefault ctors
[grid] gets rid of unused param warnings in gridfactory
Merge branch 'master' into less_shared_ptr
[common] removes deprecated extended parameter tree
[test.common_fixed_map] fix used-but-marked-unused warning