Added kpoint.compare for sorting arrays of points

Summary:
Added a kpoint.compare function to be used with Array::sort
Made kvector.equal more obviously correct for vectors of differing lengths
(technically it worked before, but relied upon 0 - undefined returning NaN)

Test Plan: Added unit tests

Reviewers: alex

Reviewed By: alex

CC: alpert

Differential Revision: http://phabricator.khanacademy.org/D5475