QML error checking, and QMutex cleanup to use QMutexLocker for lock and automatic unlock
Fix for off-by-one error, and datalog parse checking, to ensure that smaller logs don't get parsed with the wrong parser