Fix VSProject generator item sort
Autobridging:
Complete implementation of bridged offers crossings. While processing an offer
A:B we consider both the A:B order book and the combined A:XRP and XRP:B books
and pick the better offers. The net result is better liquidity and potentially
better rates.

* Rearchitect core::Taker to perform direct and bridged crossings.
* Compute bridged qualities.
* Implement a new Bridged OfferCreate transactor.
* Factor out common code from the Bridged and Direct OfferCreate transactors.
* Perform flow calculations without losing accuracy.
* Rename all transactors.
* Cleanups.
Improve checking of library versions.

* Correctly handle openSSL version checking on Ubuntu, Debian, OS/X.
* Also check versions of openSSL, Boost, GCC and MSVC at C++ compile time.
* Get rid of over-engineered runtime CheckLibraryVersions.
Revert "Improve checking of library versions."

This reverts commit 69fccdf5c633cf217caeb45e0a8398485d38e194.
Detect paths with illegal bridging offers
Ste version to 0.25.2-rc1
Revert "Ste version to 0.25.2-rc1"

This reverts commit 3f109245941979cf28c9627df97906f837b8fc38.
Make all include paths relative to a root directory:
* Better include path support in the VSProject scons tool.
* Various manual fixes to include paths.
Refactor MultiSocket:
* Variadic constructor argument list
* Tidy up sources and filenames
base_uint now compares and assigns with beast::Zero.

Conflicts:
	src/ripple/types/api/base_uint.h
	src/ripple_basics/ripple_basics.h
Add Dockerfile:
* The ports are not automatically exposed.
* No test is performed after the build.
Check for openSSL version in SConstruct.
* Uses the platform specific openssl binary to detect the current version.
Reorganize source file hierarchy:
* Rename unity files
* Move some modules to new subdirectories
* Remove obsolete Visual Studio project files
* Remove obsolete coding style and TODO list
Use per-file include directories for external code subtrees:
* leveldb, hyperleveldb, rocksdb, snappy
* SConstruct OSX fix regarding OpenSSL version check
Squashed 'src/rocksdb/' content from commit 457bae6

git-subtree-dir: src/rocksdb
git-subtree-split: 457bae6911343c2e03222e24d0c946b94dca82b4
Merge commit '8514b88974c71c0fa85bb154507536ee49c33458' as 'src/rocksdb'
RocksDB changes to support unity build:
* Remove extra definition of TotalFileSize
* Remove extra definition of ClipToRange
* Move EncodedFileMetaData out from anonymous namespace
* Move version_set Saver to its own namespace
* Move some symbols into a named namespace
* Move symbols out of anonymous namespace (prevents warning)
* Make BloomHash inline
Update rocksdb unity build
Replace boost::shared_ptr with std::shared_ptr
Return correct error for missing pathfinding request. Fixes RIPD-293