added FileUtils and DialogueTree

* FileUtils is for generic I/O shenanigans
* DialogueTree (WIP) is for handling one dialogue tree, e.g. all
dialogue for one NPC.
* DialogueTree is now the first use case for rapidjson