inspect: Updates IndxHeader structure

Also removes the unpacking behaviours. Inspect will only read from now
on.
parsing: Adds container types PdbFile and MobiFile

The above container types encapsulate the logic for extracting the
various headers, providing accessors for each and in the case of the
PDB, access to each record structure and associated data.

To enable the InvalidHeaderException in MobiFile.parse(PdbFile) the
final modifier of the MobiDocHeader identifier field is dropped.
unpack: Adds unpack utility

Hardcoded paths at the moment, point at a PDB file and it will extract
all records to a subdirectory called "book".
whitespace: Wholesale whitespace update

Whitespace errors are creeping into the source, this removes all
trailing spaces from lines.