Updated a couple of the tests to use nested require-paths, plus fixed a bug which this revealed.
'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.

The tests were all cleaned up and simplified as part of this work.
Added a Function.bind polyfill so the tests now also work in IE8.
Merge pull request #5 from BladeRunnerJS/better-circular-dependency-detection

Better circular dependency detection