Better code

Make script executable
Add custom exceptions
Clean up animation algorithm
- use set operations to govern loop
- use generator with list() to create result at once
- clip sets of shrapnel to 0 <= x < 50
Add doctests to demonstrate input and output