require.resolve changes

 - add internal resolveSpec.ext and resolveSpec.type properties

 - resolve.path now matches the actual file path (in the nodejs environment),
   rather than appending `.<type>` to force the right compiler function

 - throw an error if we definitely can't resolve a module
   (only known on nodejs for file:// paths)
remove unnecessary app and app!sjs formats; remove !sjs suffix when checking for bundled module paths
bundle: add -q/--quiet, support writing to "-" (stdout)