Added requests and the Song abstraction.

The Song abstraction class is a near direct copy from the 1.2 branch.
This is because redoing it at this point is too much work and not
worth it due to planned database changes (?). The class itself still
functions well and shall pose no problems.

The requests file implements several functions for requesting songs.
Requesting can now be as simple as calling `requests.request
(song, identifer)`. The functions only do the actual grunt work and
do not check if requesting is enabled or not. It just requests.

Added a DictCursor partial, this returns a cursor using the Dict
cursor. Instead of the now new default normal tuple cursor.