Check libraries to make sure they meet Ripple's minimum requirements.

* Ripple depends on two libraries, boost and OpenSSL.  A new function
  version::checkLibraryVersions() returns an error string if either of
  these libraries is too old, or an empty string otherwise.

* The call to version::checkLibraryVersions() during rippled startup
  will be added in a later change.

* With unit tests.
A utility to fix trailing spaces and non-UTF-8 in C++ files.

* Many of C++ files have trailing spaces which makes for
  hard-to-understand diffs.

* Additionally, some C++ files contain non-UTF-8 strings.

* This changelist introduces a Python utility to fix both those
  issues at one time.