Moved overlapped file position management to reader/writer object. Simplified buffer ordering by using file position as the ordering key (instead of artificial order id). Isolated overlapped memory management to a separate class. Simplified code responsible for retrying reads and writes. (CH-270)
Fixed several cosmetic code issues. Improved detection of same/different disk detection. Switched shared_ptrs to use std implementation instead of boost one. Cleaned up includes in headers. (CH-259)