Simplify SynchronizedValue
- use std::is_invocable instead of Boost callable_traits
- this also makes the code a bit more generic, e.g.
with_lock
will accept generic lambdas - improve unit test so that failures provide more details about their cause
Edited by Gerhard Raven