performance: Stop creating  LinkedFileAsset instances on every method invocation
performance: stop adding dot separated require paths into trie
performance: add map to Trie to speedup existence check
performance: only recalculate XMLAsset require paths if file has changed
performance: dont create concatenating reader if no source patch file
performance: add more performant method to RelativePathUtility that gets cached canonical path name
Merge branch 'develop' into perf-improvements

Conflicts:
	brjs-core/src/main/java/org/bladerunnerjs/testing/specutility/engine/NodeVerifier.java
fix some java8 issues
removing licenses dir since they are outdated, mostly apply to CT and licenses are kept next to the library itself
moving jsdoc install and templates into brjs-templates dir so it can be overridden
fixing brjs-sdk clean task
changing relative path to have a single interface that requires BRJS
using the same empty list each time rather than always creating a new one
minor code tidy up
improving the way we check source files have patches
changing Trie so the seperator chars are passed in rather than being hard coded to remove hidden 'magic'
Merge branch 'develop' into perf-improvements

Conflicts:
	brjs-sdk/workspace/sdk/libs/javascript/browser-modules
	brjs-sdk/workspace/sdk/libs/javascript/emitr
	brjs-sdk/workspace/sdk/libs/javascript/fell
	brjs-sdk/workspace/sdk/libs/javascript/topiarist
Merge pull request #778 from BladeRunnerJS/perf-improvements

Perf improvements
moving submodules that were broken in the previous merge
removing some uncessary nesting in the jsdoc dir structure