phase-list: expose zipmerge via a public API

Expose the implementation of phase zip-merge algorithm via a public API.

A part of https://github.com/strongloop/loopback/issues/895

/to @raymondfeng please review
/cc @ritch 
The original solution (implementation) was designed so that it would work well with what we have in loopback-boot and `middleware.json`. I don't understand why should be make this more complicated when the only benefit I can see is replacing a hand-written 20 lines or so with a new solution based on toposort that seems to be more complex than the original algorithm.