Providers

Sorry for the extra commit in the history - it's a separate pull request, and if you don't want it i can make a cherry-picked version.

This tells Idris to first look for the exact filename in %dynamic or :dynamic before applying the platform extension. This is to get around different extensions, which can sometimes occur.