Documentation for music library data structures
Added music library data structures
Changes to core for music library data structures and added a new exception
data_structure: Do not use id as method name. Rename method to didl_metadata, turn into property and don't overwrite in subclasses
Rewrote __init__ to take ordinary arguments. Added alternative from_dict and from_xml instantiation class methods. Made the parent_id a class variable instead of passing it around.
Fixed style issues with imports and doc strings
Replace .content property on high level class with to_dict on lower level class and make inner content dict 'public'
Added comment about cifs->S translation in MLTrack item_id and made translation class variable 'private'
Removed un-necessary __hash__ function
Replaced cgi.escape with xml.sax.saxutils.escape
Data structure documentation update
Re-integration of upstream master
Bug fixes found during writing of unit tests
Replace type check with attribute check for arg to add_to_queue
Add note in doc string that music library search 'playlists' return imported playlists from files, not Sonos playlists
Merge pull request #83 from KennethNielsen/music_library_data_structures

First batch of music library data structures, version 2