Fixes Sonix build issues

Sets the following preprocessor definitions appropriately:
* `HAVE_AL_AL_H`
* `HAVE_AL_ALUT_H`
* `HAVE_ALUT_H`
* `HAVE_ALUT_INIT_WITHOUT_CONTEXT`
* `HAVE_ALUT_GET_ERROR`
* `HAVE_ALUT_LOAD_MEMORY_FROM_FILE`
* `SNX_USE_VERSIONING`
* `SNX_VERSION_DOT`
* `NO_SELF_REGISTER`
* `JUGGLER_OPT`
* `JUGGLER_DEBUG`

Provides a CMake helper function `maybe_add_definitions()` which sets the compiler definitions if and only if the CMake variables of the same name are set to TRUE.

Also included is the patch to update the code from `boost::signals` to `boost::signals2`. This removes the deprecation warnings during compilation against a newer version of Boost.