Add RJS-compatible configuration support, CJS wrapper support, and some bug fixes.

Squashed commit of the following:

commit 150ec5a4dc0f42e323055afe05e8cc9f1e2b4c01
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Tue Dec 18 10:27:38 2012 -0600

    Remove use of `toSource()`

commit fee06214c96cf6f460e84cc82e3c45785695b21e
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 15:56:16 2012 -0600

    Improve regex for finding requires by using backref

commit 7f5bf06357bdf38f00581c89b8ae50626e17792e
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 15:39:50 2012 -0600

    Add `define({})` signature

commit 64f4a6ede9331c382bb4897dc47d0063fd7fe5ea
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 15:32:59 2012 -0600

    Update and improve factory scanning

commit 6c2026fbd5d6c6cbf9178da9e88eef5925562f66
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 12:20:42 2012 -0600

    `amd.plugins` has been abandoned

commit 82d0ce1bac485feae732ad01f4c1a9ad5c2fc1b0
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 12:16:40 2012 -0600

    Change `insertBefore` to `appendChild` since we're targeting IE9+

commit fee5fa2614d3591fc6b0a8e87f03efffb376a077
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 12:14:45 2012 -0600

    has-bracket package config

commit bb2250c47f3a0cf158772a9e71fe6e369c49cd14
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 12:03:34 2012 -0600

    Set `config` to `{}` rather than `null` to keep from throwing an error

commit 1ad1b655d803b45188578a04ed5c153eaa0609a5
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 12:02:34 2012 -0600

    Register loader-require-configuration after has is defined

commit 5c762829a771e86db5ea5c3113f050be012ce324
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 10:45:51 2012 -0600

    Use insertBefore to avoid "Operation Aborted"

commit 18e2921da8a241efaed7c68d53d5929733dc860b
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 10:41:48 2012 -0600

    Add configuration via `require()`

commit 3b20793d89e57c37d6deacc603f798097e234bd0
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 10:28:20 2012 -0600

    has-bracket the factory scan

commit 9b9b3cbda0c5d4a67ca62222399817290a176690
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 10:17:27 2012 -0600

    Fix some internal loader bugs

    * `require('moduleId')` returned internal representation of the module
      rather than the module itself
    * Using `exports` to define a plugin would not mark the module as a
      plugin

commit 7430d0e53165557aa2d702c5e25ba7c13343e7a9
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 10:07:54 2012 -0600

    Add "plugins" flag to AMD object

commit 296ef74774e6e5d8ab45c87ebd3dfe9277a23bc9
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 10:05:57 2012 -0600

    Implement getting the package-level config with module.config()

commit 1fc34f37df2726c3f248f6c987676410814653d8
Author: Bryan Forbes <bryan@reigndropsfall.net>
Date:   Fri Dec 14 10:02:47 2012 -0600

    Add factory scanning for CommonJS format modules