More work on #2

Tidied up the handling of invalid sectors in the DIFAT; special values
now always terminate the DIFAT and FREE_SECTOR is no longer a warning as
a terminator (the AAF spec is rather ambiguous on this point but it's
worth following the de-facto standard practice)
More work on #2

Only a couple of lines left, and we've got complete coverage of reader.
Still need to work on the tests for the faked mmap implementation.