update achievement gain date to submission date(not grading date)

1. It makes the leaderboard more fair.
2. Tested properly, it works.
Two steps:
1, get all req assessments of the achievement 
2, get all submission of these assessments by this student order by submitted_at desc, and take the first one.