Various fixes of unweaving

The patch is to fix the following issues of the loom unweave, along side with the tests to support it.
 * widget#unweave should stop all woven widgets, when there's no `data-unweave` attribute specified. It was working back in 1.x but at the moment it's not unweaving all the woven widgets.
 * widget#unweave should return a list of stopped widgets, just like weaving.
 * List of values in `data-weave` and `data-woven` attribute should be put in order of their original placement.
 * Fixed a few regressions introduced in #40 
 * FIxed unexpected unweave that happens during manual widget finalization.