add verbose mode

This also fixes an issue with options being passed through to workers. It does need to be tested. However, it is an awkward patch because I really don't want to take the time to set up the massive promise progress event passing flow required to properly test it at the moment, as it becomes even more painful passing back and forth between a bunch of worker processes. Probably this will just be accepted, then refactored later to include the progress event stuff and tested then.