Fix shot prep tool bugs

Resolves issues: #33 #32 #30 #29 #28 #9.  Also includes a lot of cleanup/refactoring.

@burtonjb @Linus744 Please review/test.