bag/trainer: removed const from 'const sptr' returning functions
bag: fixed location of dict include
Added documentation component that depends on Doxygen

Conflicts:
	CMakeLists.txt
Added Doxyfile

Conflicts:
	CMakeLists.txt
cmake: fixed docs install directory
docs: CMake fixes
tests: UNIX variable fix
Started adding Linux Python tests

* Python tests will be run by shell/batch scripts
* Dict test tests SWIG Python extensions
Linux Python tests work
Made Linux Python tests more generic
Moved Qt4 subclass headers into normal header directory
Changed all instances of LibPKMNsim to LibPKMN
Added nickname, held item, and personality to LibPKMN -> PokeLib-NC unit test
Made test template shell script more generic

* LIBPKMN_ADD_TEST macro takes in full command so template isn't Python-exclusive
cmake: removed unnecessary TEST_ENV variable from tests/CMakeLists.txt
Added database_tests to unit tests
Started implementing MSVC unit tests, currently work for C++

* Created template batch files, similar to shell scripts for Linux
* Edited CMake scripts to account for different binary locations
* Python tests still don't work due to build location of .pyd files
Added base_pokemon::get_exp_yield()
lib: always build Qt4 subclasses, not only if library is built standalone

* pkmn::pokemon_text requires Qt4 anyway, so build everything that needs it
Added game_save functions that call its trainer functions

* Added game_save_impl class between game_save and generation impls
* New impl class has trainer function class