build: add option for reducing exports

Enabled automatically if boost >= 1.49.
See: https://svn.boost.org/trac/boost/ticket/2309

Also, check for a default visibility attribute, so that we can mark future
api functions correctly.
Merge pull request #4663

4975ae1 build: add option for reducing exports (Cory Fields)