[assembler.system] don't hardcode local codim0 matrix assembler type
fixes perfect forwarding vs. additional single arg constructors
[operators.cg] removes unnec. code duplication
[functional.l2] adds additional ctor to pass existing local functional