refactor options parsing to allow advanced config options
automatic scoping has been removed and a scope method is offered instead
move shared schema definitions into a shared schema to allow to sync them
allow to pass multiple modules to a single exposed name
they are all executed and the last one is exported
allow to pass multiple container locations to remotes
they are tried in order, falling back to the next one when one fails
allow remotes to be promises as preparation of async externals