Add a stucture to hold the Last Change Event message

I was trying out the events.py functionality, and found it very hard navigating the data returned.  To resolve this I have created a new file event_structures.py - The idea behind this is to have some "helper classes" that make reading this data a bit easier. (After all this is XML embedded inside XML).

It should be pretty simple to use, after you have made a call to get the event off of the queue, you just construct it and then access the data.
```
# Note: exception handling etc removed
device = SoCo('192.168.0.14')
sub = device.avTransport.subscribe()
event = sub.events.get(timeout=0.5)
lastChangeXmlStr = event.variables['LastChange']
lastChange = LastChangeEvent.from_xml(lastChangeXmlStr)
# Then access it to get the data
print lastChange.transportState
print lastChange.currentTrack
```

I know there is only the single Event class at the moment (for avTransport) - but it is a start - it is something that people can add to as they have the need for more event support.

Hope this sounds OK to people.

Rob

Just for future reference. For cases such as this, there is the camel_to_underscor convinience function in utils, that you can use to convert camel case names from the XML to lower case underscore in the Python.