Stellenbosch hold on bravely to beat Pirates