Add base Shot manager class
Add base Shot manager class

Data modules are expected to subclass this base Shot manager class.
The base class provides methods for fetching the first and last shot
numbers, and for finding the next and previous shots (not necessarily
shot +/- 1, in case there are missing shots).

h1ds/h1ds,h1ds/h1ds,h1ds/h1ds,h1ds/h1ds,h1ds/h1ds,h1ds/h1ds