Allowing prefix overriding in autoloader

This resolves #1319 and also provides a way to achieve #1299.

You can now chose to prepend new directories for a prefix (or as a fallback) rather than append. I have also added a `set` method that can be used to just replace any directories set for a prefix (or fallbacks).