Merge multi-node into bp/ha.g2

This is a merge of the current multi-node branch into the bp/ha.g2.  It brings in several patches that have landed over the past week or so.  Please have a look through the history and make sure everything came out right.