Rework loader middleware to be a replacement for dust.load, rather than shimmed into dust.onLoad

Just a style-nit, but depending on the hoisting here reads a little strange. You can still take advantage of the recursive call without the early-looking-but-not-really-because-the-function-is-hoisted return:

```javascript
return chunk.map(function runChain(chunk) {
    // ...
    runChain(chunk);
    // ...
});
```