Don't load packages that are already loaded

This fixes ticket [#88666](https://rt.cpan.org/Ticket/Display.html?id=88666) that I raised on RT. This allows for someone to create a `Log::Any::Adapter` subclass in the same file that they use it (as long as it comes before `Log::Any::Adapter->set(...)`). It checks the symbol table for the class to be loaded, and if the table already has keys then it doesn't load it. I suppose this prevents loading anything twice, besides preventing the `require`ing of classes that don't have their own files.

Test also included.