Add .swp to MANIFEST.SKIP and .gitignore (vim related)
Improve math to avoid possiblity of overflow. Microoptimize use of caller()