take advantage of generic type
refactor service tests

Split out scan call to be explicit to make it easier to refactor duplicate
sections, then move repeated configuration to before/after methods.

Make sure scanning has finished before operations that might concurrently try
to modify the metadata. This also means we can now verify the deletion of the
repository is successful
remove duplicate JTA library
additional exclusion