Achievements branch

The command tests and achievement tests aren't important here. I just did them in this branch. But Ill pull once its merged and continue working on them separately. 

Changes:
Added Achievement Interface
Added methods to achievement system

Just wondering, is there a way to just delete the whole list? Or do you have to loop through?