[FIX] Fix bad xml reference, ported from OCA
[FIX] after fixing recursion we were using the wrong product weight, workaround fix while find something more elegant to resolve, consider referring in bom to parent product weight
[UPD] Minor changes, mostly to ordering
[IMP] Just made it (much) faster