XML Parse Error Exception

Fixes #204 
Throws exception if the XML is not well-formed (due to user directly modifying data.xml)
Exception handling in the upper layers have not been implemented, I want to confirm that I implement the exception throwing correctly first. Most probably will do that in another PR.
Btw, this might be needed for the "Constraint-Readable"
>Constraint-Readable: The data should be stored locally and should be in a human understandable text file. The intention of this constraint is to allow advanced users to manipulate the task list by editing the data file.
so why do you want to assert and throw? pick one, or the other.