Javascript utility for calculating deep difference with order, capturing changes, and applying changes across objects; for nodejs and the browser.