numpy implementation

converting post.py to bumpy - speed on large shot sets about 2x. Very
little change for small shot sets. Can probably be better still.