Implementation of a write ahead log

This pull request is just a place holder and isn't ready yet to be
merged. The following is a todo list:

- assigning sequence numbers to points (DONE)
- last point sequence number recovery on startup (DONE)
- last request number recovery on startup (DONE)
- Bookmark every configurable number of writes (DONE)
- Wal should flush every configurable number of seconds or on every write (DONE)
- index from request number to file location (DONE)
- Index block size should be configurable (DONE)
- compaction of the log file
- Add In-memory wal that assigns sequence numbers, doesn't log and doesn't do replays. This is useful when the user wants to disable the wal. In which case, the user risk the possibility of losing some data