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

a quick google seems to say this is the way