Rank revealing QR factorizations