skipping expensive AST build for code without requires

- building AST is expensive so returning early if no require statement is found saves time
- fixed the throw test that did not pass any code (missing arg) and made it include require to not return early
- added more tests to ensure that whitespace around require and single quoted requires works