Created analysis and types subcategories in include/

* dict and vla moved to types
* analysis.hpp moved to analysis, will be divided
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
All interface classes ready to become true interfaces
Started changing lib structure to match new headers

* Changed filenames to _impl where classes will have implementations
* Removed pkmn_nature.cpp
* Moved get_pkmn_of_type to lists.cpp
Base Pokemon implementation headers ready
Team Pokemon class structure ready, other minor changes/renames
base_pokemon_impl source done, new necessary functions created
base_pokemon_gen1impl finished
base_pokemon_impl/base_pokemon_gen1impl: added consts to function sources where necessary
base_pokemon ready for testing
All base_pokemon implementations and necessary changes compile in MSVC
Adding a bunch of database query shortcut functions
Clang compatibility fix (cannot cast SQLite::Column to std::string inside std::vector::push_back()
New move API compiles
team_pokemon subclasses compile in MSVC
Linux compiler fixes

* lib/move_impl.hpp: fixed constructor
* Removed unsigned comparisons to 0 in team_pokemon implementations
Removed unnecessary includes and duplicate includes from subclasses
Added get/set functions to team_pokemon for trainer ID, as well as new typedef