Hack: Manually call the timeout callback for connections where the timeout somehow got cancelled

After looking in to why ghost users occured and the differences between normal users, I found that the connection's `_session.to_tref._idleTimeout` property was -1 for all ghost users while a normal timeout value for normal users.
Simply calling `_session.timeout_cb` on those connections killed those connections.
This timeout is the timeout that sockjs sets to wait for users to reconnect within that time to continue their session.
Fix crash on validation of nicknamed pokemon
Merge pull request #523 from Slayer95/patch-1

Fix crash on validation of nicknamed pokemon
Update learnset checker

HMs can't be transferred. Gen 5 to 6 still needs to be tested.
Correct Sky Drop immunity check
Add comments describing previous hack
Merge pull request #522 from kotarou3/ghostUserBugfix

Hack: Manually call the timeout callback for connections where the timeout somehow got cancelled
Fix possible crash in validator

Pokemon that received evolutions in future gens.
Support 8x and x/8 effectiveness
Merge pull request #524 from Slayer95/patch-1

Support 8x and x/8 effectiveness
Merge remote-tracking branch 'upstream/master'
Update eval access