Add ripple_common module

Conflicts:
	Builds/VisualStudio2012/RippleD.vcxproj.filters
Improved diagnostic for RocksDB error codes

Conflicts:
	Builds/VisualStudio2012/RippleD.vcxproj.filters
Fix subscribing to "real time" transactions.
Fix a pathfinding bug
Fix a compiler warning in Ledger::visitStateItems
General refactoring, using C++11
* Remove broken RecycledObjectPool

* Fix beast::ServiceQueue using List instead of LockFreeStack

* Add class semaphore, fixes broken Semaphore

* Move crytpo module files to new beast directory

* Use c++11 replacements for boost and beast types:
  - std::atomic instead of beast::Atomic
  - std::function instead of boost::function, beast::function
  - std::unique_ptr instead of beast::ScopedPointer
  - std::shared_ptr instead of boost::shared_ptr

* Remove modules:
  - beast_db
  - beast_crypto
  - beast_extras

* Remove unnecessary classes:
  - AbstractFifo
  - AddConst
  - AtomicCounter
  - AtomicFlag
  - AtomicPointer
  - AtomicState
  - CopyConst
  - Expression
  - ForwardList
  - IfCond
  - Interval
  - IntrusiveArray
  - KeyvaDB
  - PointerToOther
  - PointerTraits
  - RemoveConst
  - RemoveConstVolatile
  - RemoveReference
  - RemoveVolatile
  - SharedObjectArray
  - SingleThreadedSharedObject
  - SophiaDB factory
  - SortedSet
  - WeakReference
  - beast::unique_ptr
Pathfinding improvements:
* Make each path request track whether it needs updating.
* Improve new request handling, reverse order for processing requests.
* Break to handle new requests immediately.
* Make mPathFindThread an integer rather than a bool. Allow two threads.
* For old pathfinding, if the ledger is unspecified, use the PathRequest's RippleLineCache.
* Log new pathfinding request latencies.
* Suspend processing requests if server is backed up.
Pathfinding bugfix. Missing lock.
Concurrent SHAMap code
Use shared lock for SHAMap itself and concurrent map for nodes
Improvements because items in SHAMaps are immutable:

* SHAMapItem::getData is not needed
* SHAMapTreeNode::getItem is not needed
* SHAMapTreeNode::getData is not needed
* No need to copy them when constructing transactions
* No need to copy them when computing map deltas
* No need to copy them in deepCompare
* No need to copy them in SHAMapTreeNode's copy constructor
Reset liquidity before retrying rippleCalc
Some tiny bugfixes:
* Don't let ledger idle interval get too short
* Fix CBigNum::setuint256
* Fix SqliteStatement::isError
* Remove dead code, fix incorrect comments
* Check for NULL earlier in CKey constructors
* Prevent expire times from underflowing in TaggedCache
Move some operations from the I/O queue to the Job queue
Release the master lock earlier in a few cases
Handle offers in quality directory but not in ledger
Add LedgerHolder class, use in LedgerMaster
Fix bind in call to addJob
Add abstract_clock, manual_clock, chrono_io

Conflicts:
	src/beast/Builds/VisualStudio2012/beast.vcxproj.filters
Use abstract_clock and improved tests, in ResourceManager

Conflicts:
	Builds/VisualStudio2012/RippleD.vcxproj.filters
Fix warning in chrono_io