Changed gitignore to ignore matlab and vim debris
Updated get_sorted_eigs to avoid sending bad eigs

EIGS doesn't do that great for smallest eigenvalues. Should be able to
use 'SM' or sigma=0 to do shift-invert mode to find the largest eigs of
a transformed problem (which then correspond to the smallest eigs of our
problem), but we frequently run into issues because 0 is an eigenvalue
of the original problem. Instead we're using sigma=-1, and instead of
iterating forever to make sure we have good eigs, we'll accept some bad
ones, throw away all the negative ones, and throw away all of the tiny
ones except one. That process should at least ensure that the 2nd and
higher eigs are mostly correct, though the actual ground state eig may
still be spurious. Since the ground state eig is just a constant value
(and since the spurious eigs are still normalized) it probably shouldn't
affect us TOO much.
Tweaks to the placement test function for clarity and visualization

-Running more eigenvalues, since our eig solver may occasionally discard
a few.

-got rid of some old code for calculating the perturbation matrices
(that functionality has since been folded into the perturbed eig
function)

-Added visualization of eigenvectors to help see when things aren't
going so well (i.e. lots of very tiny eigvecs)

-Added visualization of 2D placement based on first two nonzero eigvecs