C++: Add cmake build infrastructure for libtiff and threading

- Add cmake test for boost::recursive_mutex.  Needed for locking global libtiff state [std::thread is C++11 only].  Also test boost::thread and boost::mutex--they'll be needed in the future by other things.
- libtiff error handler requires vsnprintf in order to capture error output; it's unavailable on MSVC since they don't support either C99 or C++11.  This is a workaround [not testable until we have MSVC builds]
- Add cmake check for libtiff
- Add libtiff build dependency installation to travis build
- Fix cmake regex checks

Testing:
- All the cmake changes are exercised by running cmake, so if travis and jenkins are green, it's OK.
- Only the MSVC changes are untestable, and the code has been tested by others [see comment in string.h]