The Ruby contact list exercise with a CSV backend.