BUG: mixed float64 float32 merge failure
Now maps FloatBlock type to list of blocks in each join unit.
Also checks for out type in merge blocks, otherwise if float32 block appears first then merge fails
#1849

Looks good. Thanks dude
