windows compile
fixed SNTPClient code
Prevent blocking debugger if isDebuggerPresent was previously called:
The previous Linux implementation would call ptrace, which blocked when a debugger was later attached to the process.
visual studio fix (warning)
Workaround for Visual C++ behavior:
VC++ seems to consider the inner braces as scope of a temporary variable which leads to unexpected behavior
Only perform operations once at ledger close time open.
open ledger is now used to track set of transactions to be considered later on with minimal side effects.
The only time transactors are applied is during the final accept.
This unblocks work to keep track of a single ledger state.

Transactions postponed to later closing:
I had to harden how we deal with sequences like ("successfully applied to open ledger", "failed to apply at close time").
This is done by unifying the logic to keep failed transactions around to be considered for a later consensus set (old code was keeping bad transactions longer in that case).

Transaction status changes:
Old code had no good way to expose result of failed transactions (that don't charge fees, so not included in any ledger) that were failing after the initial submit to the open ledger. This is now done by storing the tx result in a timed cache so that clients have a chance to fetch the result.
As initial submits have a much higher chance of succeeding with success, I made changes in the tx call to return a less ambiguous "pending" status for transactions considered but not yet in any ledger. This is too quickly weed out clients making bad assumptions about the state of the transaction that they submitted (should be looking at "in_ledger", not just result).
Uses SQL to track ledger
performance tweaks
terminate handler
inflation uses SQL
tidy up project files, show test files in solution
optionally turn off various caches
turn TaggedCache into an LRU (constant time locking) - weak pointers not implemented at this point
consensus changes: faster catch up, delay when out of sync

* Consider there is consensus when we detect that we've fallen behind (old code was waiting to reach consensus with other part of the network); this increases the chance that we catch up to the network.
* If we can't catch up to the last closed ledger in SQL consider ourselves syncing
do not store hashes on leaf nodes
windows environment

accepts private peers (for local debugging)
updated build number to 0.27
Merge pull request #164 from MonsieurNicolas/goSQL

SQL ledger

Reviewed-by: jedmccaleb