Refactor fstab handling
Splits the fstab/mtab handling code into smaller pieces and allow unit
testing of each one. The reafacting allows us to use the various classes
individually, e.g. use the FilesystemTableParser for parsing any
fstab/mtab style file.
This refactoring is a prerequisite for adding proper support for
fuseiso, since fuseiso maintains it's own mtab file, which we would like
to parse and use.