modules: Support multiple search paths
The SwordModules constructor can now take a list of paths as well as single paths. Modules can be loaded from any of the paths. If a module exists in multiple paths, it will be loaded from the last one.
Also added a function to get the platform's default path. This is important for applications that want to search both the default path and some additional paths.
Includes tests for the new functionality.
Fixes #17 (closed).