Fixes #5025: Autoloader allows changes, requires PSR-0 but is BC with 1.8

Implements strategy described [here](https://github.com/Elgg/Elgg/issues/4960#issuecomment-13695707). Basically developers can now change classes even after all the plugin /classes dirs have been initially scanned. The loader checks is_readable, makes another search for the file (using PSR-0) and updates the map to the new location. If a user has a file like classes/Foo_Bar.php, that will be properly mapped for 1.8 BC, but in subdirs classes are expected to follow PSR-0.