masked assignment: one more level of abstraction

Now the where(mask) implementation uses a call to the conditional_assign
non-member function to execute the correct implementation for masked
assignment. This enables third-party extensions to the where syntax.

Signed-off-by: Matthias Kretz <kretz@kde.org>