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 to clarify, I have never seen this have a problem with the real system - it's just in case at some point there is a problem (Sonos beta code for example)