Reading fcurves wasn't really optimal because restoring fcu->group pointer was changing lasthit pointer, which required full lookup over the oldnewmap happened at the next call to newdatadr(). This reduces loading franck_sheep.blend file from ~2.2sec to 1.5sec.