Yet another improvement to the require hook.
Yet another improvement to the require hook.

This one is based on the technique illustrated by the `pirates` npm module.

Pros: it works better with nyc / ava, and works better with other modules which also use `pirates` or its technique.

Cons: it can be clobbered by a simple overwrite of the require hook by a module which doesn't use the `pirates` technique. Just be careful that those hooks always come before `flow-remove-types/register`.

Fixes #15

flowtype/flow-remove-types,flowtype/flow-remove-types