Caterpillar to acquire Weir's oil & gas division for $405m