Factored `SourceModuleResolver` out of `NodeJsSourceModule`, so it can
also be used by other `SourceModule` implementations.
Updated `NamespacedJsSourceModule` to use the same
`SourceModuleResolver` class that was factored out of
`NodeJsSourceModule`.
Changed AssetContainer.sourceModules() to return a set instead of a
list, in preparation for allowing efficient querying of the available
source modules.
Updated the new `SourceModuleResolver` class, to allow it to fix a long
standing bug that meant we were bundling source modules that shouldn't
technically have been available for the given bundlable node, plus
modified `AbstractAssetContainer` to make it more efficient for
`SourceModuleResolver` to check if source modules are avilable for a
given bundlable node.
Tightened the scope for all asset container memoization.
Started memoizing the bundlable-node specific dependency lists we now
have to generate.
Merge branch 'develop' into remaining-memoization-work

Conflicts:
	brjs-core/src/main/java/org/bladerunnerjs/model/TrieBasedDependenciesCalculator.java
	brjs-core/src/main/java/org/bladerunnerjs/plugin/plugins/bundlers/namespacedjs/NamespacedJsSourceModule.java
	brjs-core/src/main/java/org/bladerunnerjs/plugin/plugins/bundlers/nodejs/NodeJsSourceModule.java
Made some temporary changes so that the tests pass. This merge has
revearled the need to enforce better scoping, so that classes can only
refer to classes they are allowed to refer to, which should also
increase the performance of the code too.
Found another class that accesses a file in its static initializer, and
so must be pre-initialized.
Introduced an AssetContainer.scopeAssetContainers() method, so that the
trie we build need only contain classes that are actually reachable from
a particular source module (blades shouldn't be able to refer to aspect
classes for example), plus re-enabled some tests that I
temporarilly disabled in an earlier commit.
Updated TestPack.assetContainers() to make use of
AssetContainer.scopedAssetContainers(), rather than relying on the
de-encapsulated code that was there previously.
Merge branch 'develop' into remaining-memoization-work
Merge pull request #521 from BladeRunnerJS/remaining-memoization-work

adding remaining memoization work to increase performance
Merge branch 'develop' into remove-dead-code