Cloud growth fuels IBM profit beat