BUG: Fix up the Vasp KPOINTS writer
Given that !253 (closed) was closed to make way for !226 (merged) and then !226 (merged) was withdrawn, I've tried to bring back the best of both. I've also added a bunch of regression tests to try and catch this stuff more systematically.
Syntax options that are tested and should now be supported:
calc = Vasp(gamma=True)
calc = Vasp(gamma=False, kpts=(x, y, z))
calc = Vasp(kpts=20)
calc = Vasp(kpts=[20])
calc = Vasp(kspacing=0.2)
calc = Vasp(kpts=[[x1, y1, z1, wt1], [x2, y2, z2, wt2], ...])
calc = Vasp(kpts=[(x1, y1, z1), (x2, y2, z2), ...], reciprocal=True)