satyr/playlist.py:
* the queue now holds Songs, not indexes. this makes it, for the time being, non saveable. the index is still hold because we can't emit signals with a Song as parameter :(
* PlayList.queue() now (also) accepts Songs, not (only) indexes. this means it can't be a dbus method anymore.

satyr/skins/complex.py:
* comply with those API changes.
	modified:   satyr/playlist.py
- jumTo{Song,Index} are no more.

	modified:   satyr/player.py
* use setCurrent() instead of removed jumpToSong().
new file:   .gitignore
+ git starts to rock!
modified:   satyr/song.py
+ add traceback to the imports.
modified:   satyr/collaggr.py
+ prev()/next() abstracts the index handling of getting the next/prev song.
+ songForFilepath() returns a Song with its corresponding Collection, if found.

modified:   satyr/player.py
* nowPlaying() emits a filepath.

modified:   satyr/playlist.py
* songCahnged() emits a filepath.
* now we store the filepath instead of the index. we're trying to get rid of it.
* setCurrent(): select the song from the stored filepath.
* prev()/next() don't use index anymore. this breaks revisiting songs while on random.

modified:   satyr/skins/complex.py
* showSong() receives a filepath.
* nowPlaying() does not use the index, and is not an index anymore.
* collectionLoaded() is broken, but it was not connected anyways.
modified:   satyr/player.py
* nowPlaying() now emits a Song.
* moving towards a Song centric player.

modified:   satyr/playlist.py
* songChanged() emits a Song too!
- while we're at it, remove the primes stuff. deque it's a-comin'.

modified:   satyr/skins/complex.py
+ big comment about difference between PlayList.songChanged() and Player.nowPlaying().
* showSong() receives a Song. this simplifies somehow the code, but it's still horrible.
* nowPlaying() also receives a Song :)
* eliminate an indexForSong() call, which is O(n). only 3 left.
modified:   satyr/player.py
modified:   satyr/playlist.py
modified:   satyr/skins/complex.py
* cleanup.
* fix «take current directory as new collection directory when called without collection paths» bug.
+ handle flac files.
* debug info in saveMetadata() was announcing itself as coming from loadMetadata().
* fix «UnboundLocalError: local variable 'f' referenced before assignment» bug.
* s/Player.nowPlaying/Player.songChanged/. change complex to comply.
+ Player.nowPlaying() returns as dbus method.
* correctly detect file extension (instead of assuming it's just 3 chars long).
* be quiet.
* merged master.
* handle the case when we have no collections/the collections are empty.
* a little bit closer to Song based app: Player.filepath is no more.
* finish some touches from the merge from master.
+ Songs have an id now, calculated as the hexmd5sum of the original filepath. Later, the filepath might change but not its id. this will allow us to find the song even when is has changed of path (f.i., after renaming it) or even Collection.
* Collection.add() can handle Song ids.
* load()/save() handle Song ids.
* CI.foundSongs() now emits a list (of id,path) instead of a QStringList.
+ Collection.songsById is a mapping Song.id-> Song, for fast lookups.