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.
This does not touch consensus critical code.

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.