Fix a bug where Disobedience wouldn't always notice that a track had started playing. If you turn off random play, then either scratch or wait for the current track, then turn random play on again then it would not notice the new track. The reason is that random track choice is now asynchronous to start a new track and Disobedience wasn't listening for "playing" log messages. Now it does.
Drag targets are now specified separately for each queuelike. Playlist rearrangement now implemented. There's still a bug in playlist d+d handling somewhere, e.g. make a 4-element playlist and rearrange the first three elements to after themselves twice in a row. The first time it succeeds (but using an odd after_me) the second time it blows up.
Set last_playing to NULL when we don't have up to date information about the playing track (including, importantly, just after pausing). column_length() returns NULL in this case, and ql_update_row() leaves cells that have a NULL value along. The effect is that the played so far indicator is left as it is until we're sure what the right value is. Usually in fact it will already be right, so we don't even lie; when it isn't, at least it jumps around less before reaching the right value. http://code.google.com/p/disorder/issues/detail?id=26