Merge pull request #284 from Jakobo/master

Removes Link.JS and simplifies the executor's error reporting
Initial rewrite of TreeDownloder to handle execution duties
The TreeDownloader in its original form was having difficulty with items
scheduled during the next-tick of the event loop. The solution to this is
to make sure TreeDownloader knows what is is executing (and when),
managing all aspects of the TreeNode collection. A nesting example is up
for now until there are some tests behind it.
updated so all src tests are passing. Still need to make integration tests pass
Passing all basic integration tests and beginning work on the AMD suite
Passing all AMD tests except for the plugin support
Cleaned up the executor calls. Right now, includes are not based on their predecessor
To solve this, we still need to maintain a "require" chain. Requires are contextual,
especially when using plugins
Passing AMD Suite
fixed executor tests
Passing all SRC tests
passing CJS determinism tests
passing all CJS tests, one AMD regression introduced
Passing all tests
Added nesting example, and cleaned up the global define() to be consistent with internal define()
Added dependency to test
Added support for PhantomJS stack tracking (false failure in TravisCI)
Code cleanup walkthrough with @gvsboy
Removes a bunch of dead code, adds comments where needed, and documents
functions that were missing documentation
Changes based on feedback in person from @jameskranz (github)
* Removed Server Wait: No longer 3 second lag for testing
* Using [\w\W] instead of . for character matching in define regex
* converted all define/require regex to multiline versions
* added null protection in id/file resolution
Merge pull request #285 from Jakobo/nesting

5.1 changes to fix serious nesting bug, will result in RC2
Update to TreeRunner to support inline defined AMD
using define() followed by require() inline on a page would cause the
module to be fetched even through it has been defined. A test to
ensure this behavior does not regress has been included as well.
fix Communicator, XD: XSS patch. remove the parameterized swf= attribute in relay.html

Change the relay.html file and Communicator to no longer pass along the relay.swf location
as a url parameter. Previously, this parameter was passed through, creating a potential
security vulnerability when a malicious swf was set to the swf= parameter. This change
requires relay.swf to be in the same location as relay.html. To prevent spoofing, the
relay.swf file is a regex change of the relay.html's location.href property.

BREAKING CHANGE: the swf file previously could be located wherever the library user wished
and must now be located alongside the relay.html file.

  Before:
  |-myDir
    |-relay.html
  |-otherDir
    |-relay.swf

  After:
  |-myDir
    |-relay.html
    |-relay.swf

If an implementor must absolutely specify an alternate SWF location due to their environment,
they should modify their relay.html file and specify the ALTERNATE_SWF_LOCATION which has
been provided as a backwards compatible solution.