Fixes #1650
This is done to prevent false negatives, when class storage hasn't been populated yet. Fixes vimeo/psalm#1387
* Add a bunch of new hooks * Add more integrations * Add some broken tests * Add more things * Fix remaining interfaces * Suppress proper issue * UndefinedMethod should not stop analysis * Add handlers for two custom method return types