Consistently use fut['return']() in package code.

Some package code is loaded in browsers, which may fail to parse code which uses
'return' or 'throw' as a method name.  We used to inconsistently use fut.ret for
this purpose; instead, just consistently use fut['return'] and fut['throw']. We
don't bother to do this in tools code which is definitely never run outside of
Node.

Also remove some unused requires.

Fixes #1222.