Defer stubbed module registration until calling bogus.requireWithStubs()

This removes the need for a callback to be passed to bogus.stub(). But means that calling bogus.requireWithStubs() is required in order to properly register the stubbed dependencies.

This is fixes #2. In that the API is now much cleaner.

```js
bogus.stub('mod1', fakeMod1);
bogus.stub('mod2', fakeMod2);
bogus.requireWithDependencies('dependent', function (mod) {
});
```

If you're happy with the implementation I'll update the docs.