Complete NEO and PNO

I am changing the PNO method after this commit to more closely follow
the method of Evans et al.