Refactored controller.scan method to be synchronous.
Refactored controller.scan method to be synchronous.

This commit changes the controller.scan method to be more like the
controller.stage method - i.e. it is now expected to be run
synchronously but inside a separate Goroutine. This makes it easier to
manage returns (since they are just natural function returns) and is far
less error-prone. It also saves a bit of code.

havoc-io/mutagen,havoc-io/mutagen