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 
These crypto changes should be part of another pull request. They look like they actually do something rather than shift header files around, so they should be reviewed from a crypto standpoint.