requiring js styles to be set before classes are created in spec tests
forcing the correct format for classes in requires/dependsOn in spec tests
changing source module interface to have getUseTime and getDefineTime dependency methods
removing the extra addition of duplicate source module dependencies
adding an extra test for namespacedjs content plugin
some initial refactoring to CommonJSSourceModule
changing ModuleExports and CodeBlock stripping readers so they can also opperate in an inverse way
changing CommonJSSourceModule so it seperates use time and define time dependencies
changing SourceModule API so dependency methods return a list of Assets
separating Use time and Define time dependencies in NamespacedJS source module
changing Thirdparty source module so its dependencies are calculated as define time dependencies
abstracting the various CommonJS readers into seperate classes
abstracting away NamespacedJS and LinkedAsset readers
minor refactor to CommonJsSourceModule
Merge commit '18abd4da6ce973d7106f0606c76e53da3eb6dd27' into better-client-side-circular-dependency-handling
Squashed 'brjs-sdk/workspace/sdk/libs/javascript/browser-modules/' changes from ef03c26..cd2da00

cd2da00 Change try/finally to try/catch/finally to slightly improve the dev experience in IE8.
532bd21 Merge pull request #6 from bit-shifter/gh-pages
bdeda48 Merge pull request #5 from BladeRunnerJS/better-circular-dependency-detection
9d705f7 Added a Function.bind polyfill so the tests now also work in IE8.
95f046d adds additional spec tests for subrealm define|require interaction
6193263 'browser-modules' can now always handle mixed define-time/use-time circular references, regardless of whether the first node to be required has a define-time or use-time dependency. We do this by throwing an exception and backing out of the circle, but recording which nodes in the circle have use-time dependencies, so we can later require one of these nodes separately, before attempting the original require again.
0b46988 Merge pull request #4 from BladeRunnerJS/better-circular-dependency-detection

git-subtree-dir: brjs-sdk/workspace/sdk/libs/javascript/browser-modules
git-subtree-split: cd2da00815a02add759b43bf11283c08a1cc64d5
Merge commit '09bbcf9cd11b3e8e802d5f498a1f4fbe4a1b96da' into better-client-side-circular-dependency-handling
Squashed 'brjs-sdk/workspace/sdk/libs/javascript/browser-modules/' changes from cd2da00..4970a74

4970a74 1. Fixed a bug that meant we continued to use state related to the realm where an object was first created, even though a sub-realm had been installed. 2. Added lots more spec tests around realm and sub-realm installation and use. 3. Cleaned up the existing spec tests. 4. Simplified the code, and pulled out the code used to define the require-function passed to defined modules to make things clearer.

git-subtree-dir: brjs-sdk/workspace/sdk/libs/javascript/browser-modules
git-subtree-split: 4970a74e28a345ebf81564bc7fb746ae49ef3aeb
Added a Function.bind() polyfill to browser-modules so the tests pass in PhantomJs and IE8.
renaming methods on SourceModule now they return Assets not SourceModules