data_structures: Added class for queue item and modify core, no metadata

Next step in the data structures work. This PR adds in a QueueItem class, and uses that in soco.get_queue. Basically it works like most of the other data structure classes, so you should be able to do e.g.

``` python
    queue = soco_instance.get_queue()
    print queue[0].title
    queue_item_dict = queue[0].to_dict
```

and so on.

This class do however not yet produce its own metadata, which means that these instances cannot yet be added to the queue again, simply because at this point I do not know how to do that for music service tracks. I did however inherit from QueueableItem, which is of course not correct, but hopefully will be.

Ideally of course it should be possibly to convert these QueueItem to MLTrack or MSTrack, but that is blocked by the same problem. Hopefully we will be able to figure it out soon.

Precisely because I do not know exactly where this class will fit into the data structure hierachy, it also implements all its own methods and properties. This can likely be cut down once we get a better overview.

Let me know what you think.