Return the final slice name from the `slice_name` method

The previous implementation of `slice_name` was correct, in the sense that it
preserved the behaviour from the earlier implementation, but it didn't fix a
larger problem - that every consumer of that value had to manually transform
that into the actual slice name.

This fixes that, by adding tests to ensure the method does what it should, and
then replacing all those open-coded transformations with nothing but the call
to the `slice_name` method.

This closes #452.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>