Improve type change

Change back pokemon.types to a pointer to the types in the dex entry.
A typeless mon now defaults to ??? rather than undefined in pokemon.getTypes()
Implement methods pokemon.setType and pokemon.addType
'setType' accepts as parameters any amount of types, with the default attributes.
'addType' accepts as parameter a single type, which will have the flag 'isAdded'.