Added more test stuff. 

You can now run do `python -m tests` to run all tests.
Added missing datetime import.

Added missing metadata property.

Changed way Track.plays and Track.requests are done.

Fixed definition location of `requires_track`.

Fixed wrong formatting in Length.format.