Fix missing return value error check
Handle whitespace separating an 'ip port' correctly (RIPD-552)
Transactor refactor:
* Allocate transactors on the stack instead of the heap.
* Remove header files and reduce transactor public interface.
Ticket issuing (RIPD-368):
* New CreateTicket transactor to create tickets
* New CancelTicket transactor to cancel tickets
* Ledger entries for tickets & associated functions
* First draft of M-of-N documentation
Ticket integration tests
Cleanups to RPC code
Cleanups and fixes (RIPD-532):
* Properly handle sfWalletLocator field
* Plug a tiny memory leak
* Avoid naked pointers
* Remove unused variables
* Other small cleanups
Add date to tx command (RIPD-542)
Create the directory for the debug_logfile (RIPD-551)
Increase the size of the tree cache:
This change will not significantly increase memory consumption
because most entries are pinned anyway.
Make more RocksDB tunables
Add support for universal compaction
Refactor LedgerEntrySet:
* Split adjustOwnerCount to increment and decrement paths.
* Move pathfinding-specific functions out of LedgerEntrySet
* Convert members to free functions
Improve regularity of STObject and STArray (RIPD-448, RIPD-544):
* reduce duplicated code using templates
* replace BOOST_FOREACH with C++11 for loops
* remove most direct calls to new
* limit line length to 80 characters
* clearly identify virtual and overridden methods
* split STObject and STArray into their own files
* name files after the class they contain
[WIP] Add 'visitNodes' function and implement 'visitLeaves' with it
(this specific commit was David Schwartz. All subsequent Mark Travis)

Add config sections for rotate-delete:
[rotate_delete] #: number of ledgers in between rotation intervals
[keep_ledgers] #: number of recent ledgers to keep when deleting
[advisory_delete] 0|1: if enabled, require rpc call (not yet implemented)
to indicate the latest allowable ledger to delete

add RotateDelete class

launch RotateDelete thread

In RotateDelete, recover database and rotation state from shutdown or crash,
clean old database directories, start new backend if no previous database

Remove rocksdb contents and directory in destructor.

function to copy rotate of ledger from previous to current backend

some logic in rotation loop

WIP need cross-platform way to open file for writing to get file descriptor
for fsync()

write dbstate, rotation logic

Database::copyToCurrent(). Broken, need to modify fetchInternal() next.

WIP DatabaseImpl::fetchInternalRotateDelete()

database functions work with rotate-delete (fetch, store)

no batch writes for rotate delete in RocksDB

log RocksDB errors

rpc command "can_delete" used with ADVISORY_DELETE to let user allow
the earliest ledger to delete

remove [keep_ledgers] config, use [ledger_history] instead

don't start if [rotate_delete] is set and [ledger_history] is full

write dbStateFile for non-POSIX platforms. Does not write synchronously.

formatting cleanup

setup SQLite to persist rotate db state

can_delete RPC uses SQLite to set/get deletable ledger

[WIP] functions added to RotateDelete to replace monolithic functor

uncomment copyToCurrent

modularize RotateDelete::operator()() components

remove unused code

debug RotateDelete

Add config options to example config. Add log entries for RotateDelete.
modify log message.node.getString() changed recently
fix CREATE TABLE so all 5 columns are created
fix whitespace in sqlite init
print node not found error if condition met
no need for <memory> header
clarify comment
fix SQL and add debugging messages