Revisiting Co-Occurring Directions: Sharper Analysis and Efficient Algorithm for Sparse Matrices