Move the criterion storage to the AdvancementDataPlayer object itself, so the criterion object stores no references - and thus needs no cleanup. Fixes #3050