fixed bug in first_obs_id returned by cache_columns

Investigated why I was getting 'life list firsts' on my calendar for things I'd seen before. Turns out the first_observation_id on the listed_taxa in my lifelist wasn't storing the proper observation_id representing the obs with the earliest obs date (simple sort on obs.id not returning the correct obs). I altered cache_columns_query_for in all four list models to mimic the way last_observations works (which explicitly returns dates with the obs.ids) and altered cache_columns to deal with these data. Seems to work right now.