Fully (hopefully) working xml output. 

Call Schedule.getWeeks(params).toXML() and you will get an output of all of the lessons, days, weeks, and noveschedule. 

:D

Also, note @Kirens, I had a merge conflict which I solved. Your parenting commits probably got lost, but your throws came through. Sorry about that. I will add parenting to all of the undergoing structures in a later PR. As I understood, your parenting commit only touched lessons. As I said, I will fix this for you. 

Also note, I have not fully tested this. Please @Kiren, give me the commands to test your analyzation to make sure everything works so I can make some corrections before you merge :)