In Boost.Build jam files, removed multi from usage requirements, because it had no effect in that location and caused Boost.Build to issue warnings.
Added multi to build requirements in the odd location where it wasn't there already, for consistency.
Added hidden to library and executable targets, because Boost 1.69.0 now builds in that mode, and it caused many linker warnings to be inconsistent.
Fixed declarations of C++ exception classes so that their RTTI would be exported (a.k.a., visibility set to default, rather than hidden) on UNIX/Linux to avoid linker errors.
Fixed a few signed/unsigned mismatch compiler warnings on Linux.
The basic update, plus fixes for a bunch of compiler and Boost.Build warnings.