fix how folly and its downstream projects find boost
fix how folly and its downstream projects find boost

Summary:
Folly links explicitly links against boost statically on Windows.  However,
many downstream projects that use folly independently performed their own
discovery of boost and normally used the default option of linking against it
dynamically.  This resulted in boost being listed twice on the link line on
Windows for some downstream projects: both its static libraries and dynamic
libraries would be present.  This ends up causing linking failures due to
duplicate definitions.

This updates folly's installed CMake file to correctly call
`find_dependency(Boost)` so that downstream projects don't need to perform
their own independent discovery.  This ensures that all downstream projects
use a consistent method of linking against Boost.  I updated many downstream
projects to remove their explicit separate discovery, and rely only on this
behavior from folly.

I also added a configuration setting to allow explicitly selecting whether to
link against boost statically at folly configure time.

Reviewed By: wez

Differential Revision: D21232164

fbshipit-source-id: 9ecc3ce988add48905252297e979403c42e7e148

facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift