Made player achievements immutable

Progress for achievements is updated immutably
This means the progress on a achievement can be taken as
the latest row in the database for a given player
Changed player achievement to achievement progress