Analysis structure work

* Separated analysis.hpp into analysis/damage.hpp and analysis/damage.hpp
* Pass by value functions removed (will be covered in PkmnLibEx interface)
* Removed pkmn_types.hpp (only function now in analysis/damage.hpp)
* Types and Stats enums added to enums.hpp for new parameter types
conversions: made all public class functions static

* It doesn't make sense to declare a converter in this situation
* A class is used instead of a namespace because classes can be friends
More work on header overhaul

* Moving toward true PIMPL, these classes will be pure virtual
* Removed pkmn_nature, will simply be an integer
* Renamed spec_pokemon to team_pokemon
* Moved get_base_pkmn_of_type to lists