removing getClassname method from SourceModule
storing pointers to Trie references rather than Strings to reduce memory
optimising whats stored as fields in SourceModules
tidying up memory usage for AssetLocations
making all regex patterns static
using TreeMap in TrieNode to reduce memory overheard compared to a HashMap
caching files returned from nodes and using BladerunnerConf to access the conf file
removing some memoization that we don't need and making some instance variables static
re-adding bundleset memoization since it doesnt benefit much to remove it
re-adding caching of TrieBasedDependency calculator to SourceModules
moving source module resolver logic into BundlableNode
caching requirePath in SourceModules
backing out some static variable changes since it seems that accessing statics is slower than instance variables
using LinkedList for TrieNode references instead of a Map
refactor Trie to have different classes for root, trunk and leaf nodes
removing the need for multiple trie keys to be added for each class
optimising Trie for memory usage and performance after populating it
only optimising Trie when it's size is big enough to benefit from it
Merge branch 'develop' into memory-usage
using String.intern() to get a minor memory saving for js style strings