[discretizations] allow to specify products in __init__()
[core.interfaces] add bookkeeping of added attributes
[reductors.basic] also reduce scalar products