The Complexity of Manipulating $k$-Approval Elections