Enable compilation with VS2013 and later.
Instead of adding partially specialized class template 'slot' with dependent template argument 'SlotFunction' which doesn't work with Visual Studio compilers, get around this problem by introducing class template 'slot_impl' - much like in the "faux-variadic" code path used by compilers which don't implement variadic templates.

As a by-product, make library level-4-warning-clean.

Signed-off-by: Daniela Engert <dani@ngrt.de>