Refactor module registration to support multiple module declarations per classpath entry

Each file will be treated as module declaration file and modules declared within will be registered. This allows for naming module declaration files differently, so they can be easily merged.