A song list's `done_on` field is mandatory.
Add the `rack-mini-profiler` gem.
Use `find_by_sql` instead of `connection.execute` to fetch songs.
Optimize fetching the `last_done_on` for each song.

- Preload all song lists for the list of songs.
- Sort the `done_on` fields in memory to avoid another per-song query.
When testing song sorting, assert on the presence of the up/down caret.

This also ensures that the sort is complete before the main assertion.