Android XML Support

I have added support for XML files (specifically, Android XMLs).
In addition, I added the ability to apply hooking comments to allow the developer to place XML nodes before or after a particular XML node (by id) in the same branch. To do this I had to make some adjustment to the FSTGenComposer, but it shouldn't affect normal usage as the snippet should only run if the child being superimposed is a XMLHook object.

Also, for the hooking, I added an addition method to the FSTNonTerminal class in the AST to allow for adding a child node at a particular index.
Addition work is required to allow correct outputting IF the base version of a XML contains a hook comment. It works still, but its outputted as an XMLNode, instead of a comment.