Patch sub intersection() to assign the result to the object, before returning. This means that in situ updates of the object now work. Many thanx to Helmut of hzlabs (de) for reporting this problem.
Add 3 new tests (44 .. 46) to protect against regressions.