Compiler warnings

Fixed most compiler warnings.

I changed NodeProperty to be generic, which was the only thing I was unsure about. It caused a lot of changes, which were all made in a single commit, so if it needs to be rolled back it should be easy to do so. 

There are still a bunch of warnings in the thunderbird parser, but I left them alone because they will be removed when the new email parser pull request is accepted.