Clean up the structure of some source code

New **protocol** module *<ripple/protocol/>* contains what was in src/ripple/data/protocol. Each file now includes what it uses.
Reviewers: @josh-ripple @donovanhide 
I guess the advantage of an LRU cache is that the sweeps don't have to be scheduled and owned somewhere. One less timer. insert() holds a lock, so not sure the use of a push_front()/relocate() in a linked list would be that much extra work. I'm only interested because of the parallels with the cache in keyvadb:
https://github.com/donovanhide/keyvadb-cc/blob/buffered-writes/db/cache.h#L31-L40