[assembler.local.codim0] added Codim0OperatorAccumulateFunctor
[products.base] added LocalOperatorProviderBase

In order to support a wider range of local operators (i.e. codim 1 ones)
the LocalOperatorProvider class implemented by the user now has to be
derived from LocalOperatorProviderBase, see the documentation for details.
[products] update product implementations
[products] split l2 into weightedl2 and l2
[test.products] update
[assembler.local.codim0] added override
[localevaluation.product] clean up, refs #3
[localevaluation.product] derive from Codim1Interface< ..., 2 >

This can be used e.g. to compute an L2 product over the boundary of a
domain.
[localoperator.codim1] whitespace
[products.base-internal] added notes in volume part of helper

The static_assert is not necessary, it is carried out in the functor.
[products.base] added codim1 boundary operators to LocalizableBaseHelper
[products.boundaryl2] added localizable variant
[test.products_boundaryl2] added test for Products::BoundaryL2Localizable
[assembler.local.codim1] added Codim1BoundaryOperatorAccumulateFunctor
[assembler.local.codim1] removed outdated profiling
[products.base] simplified LocalizableBaseHelper
[products.base] added AssemblableBaseHelper

This will allow all operators supported by LocalOperatorProviderBase and
AssemblableBaseHelper to be passed to AssamblableBase.
[products.base] added boundary operator handling to AssemblableBaseHelper
[test.products_boundaryl2] added BoundaryL2AssemblableProduct
[products.boundaryl2] added BoundaryL2Assemblable