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>
Merge pull request #1 from DanielaE/feature/vc12-variadic

Enable compilation with VS2013 and later. Fixes ticket #9529
Removed some macro usage that is no longer needed.