Add methods to dump and load snapshots.

- Change how a RaftListener is notified of committed commands.
- Add types and methods to libraft-core to dump/load snapshots.
- libraft now uses Java 7 syntax and requires Java 1.7+ to compile
- Use both H2 and SQLite3 in the libraft-agent tests