Bug 1093219 - m3u parsing

I rewrote this mostly like that.

Will add a "removeSongAt()" and also will fix the consistency with the path. I made a mess there and it is a miracle my test work.