Removing external dependency on boost::signals2

I am proposing we phase out boost::signals2 in favour of the small/fast implementation contained in this commit.
I ran the testsuite, there are no errors. I ran run time tests, no regressions.

https://github.com/pbhogan/Signals
    Extremely efficient (based on delegates that generate only two lines of ASM code).
    No inheritance required.
    No third-party preprocessor required.
    Works seamlessly with global functions, object methods, virtual methods and static class methods.
    Very portable. This should work on any reasonable C++ compiler.
    Really simple to drop in and use.
    Implemented fully in templates.