Patches pushed as dd1aebe148de77c098f2b430f6b7ef99d4416000 and following, with a fixed commit message for patch 4. Thanks.