Use 'close' event instead of 'finish'

Target streams like decompress@0.2.3 that do not correctly implement
Writable will emit 'close' but not 'finish'
Fix implicit anys
Add errbacks to require calls