Allow to run make loop manually instead of a timeout

This allows using fibers-based flow control in make targets.
make.run() is always called only once. If you omit it, it will run at the end of the script as usual.

```
var Sync = require('sync'),
  // require shelljs/make at the beggining, but store the exports
  Make = require('shelljs/make') 

Sync(function() {
  target.all = function() {
    var result = asyncFunction.sync();
  }

  // run make targets now 
  Make.run()
})
```