fix the issue with using boost::signal with tf

`tf` recently moved to `boost::signal2`, so the effort display needed to be updated too.

I made it so that it would conditionally use `boost::signal2` if the `tf` version is greater than or equal to `1.11.3`.

I also fixed some compiler warnings in this code.

This code (the effort display) is actually pretty wicked... I commented on the original pull request which added it as a built-in display type.

closes #700