Added the GameAttribute class

Change how the characters work but everything that deals with characters
is the same (hooray for decoupling), so everything still works. The
constructor is still messy but when we do the factory it'll mitigate it
some more.