clean up require() calls, plus some odds and ends

- hoist require() calls into module scope to make them more efficient
- move some constants from jsdoc/doclet to jsdoc/name for sanity, and to break a circular dependency
- in jsdoc/src/astnode, define the node properties all at once
- remove the gratuitous constant for the `undocumented` tag; we only use it once
- remove a bit of dead code