Dynamic pype loading and KeyNotInContextError == KeyError
This release is all @Reskov! 馃帀 Much thanks for your excellent contributions to some tricky bits of the pypyr core!
- Context KeyNotInContextError now also derives from KeyError. This makes it easier to catch missing key exceptions in scenarios where Context keys contain other dicts.
- Allow dynamic loading of pipeline loaders. This allows core extensibility to load pipelines differently and from other places than the default file loader. Plugins can now do things like
myplugin.pypeloaders.getpypefromsomewherecloses #106