STOCK PURCHASE AGREEMENT BY AND AMONG BEACON ROOFING SUPPLY, INC. (as Buyer) OLDCASTLE, INC. (as Parent) AND OLDCASTLE DISTRIBUTION, INC. (as Seller) DATED AS OF August 24, 2017