Refactor XMLQtInterface

Make use of QFile for reading / writing xml files / hashes. This should fix some issues when hashfiles contain newline characters.

- Also the xml file is read only once
- `XMLQtInterface` is now responsible for reading and validating the file (see `XMLQtInterface::readFile()`)
- Added `QByteArray XMLQtInterface::_fileData` for caching the file