Support dynamic requires

* Refactor the codebase to remove the helper. 
* JSDoc things.
* Test using `assert`

Fixes mrjoelkemp/node-dependents#5