[core.interfaces] make with_ default implementation safer
[core.interfaces] add _with_via_init() helper method
[discretizations.interfaces] remove with_projected_operators()

This should be replaced by an appropriate with_ implementation.
[discretizations.linear] replace with_projected_operators by with_