Shot domain and tests

Signed-off-by: markuslamm <markus.lamm@googlemail.com>
ShotRepository and integration tests

Signed-off-by: markuslamm <markus.lamm@googlemail.com>