When patching the define callback, maintain the arity of the callback

This lets patchDefine work with modules like backbone.projections that
manage their own dependencies in a require-like fashion.

Formatting auto-triggered, making this commit a bit noisy.
this will seem evil, but I think we could get away with

`window._defineCallbacks = {}`

that way `patchdefineCallbacks` doesn't need to know about `__agent`. Also, it helps with your fame and noteriety when you write a blog post or put this in an npm module.