Differentiating Generalized Eigenvalues and Eigenvectors