Refactor ShardSpace to RetentionPolicy

not ready for merging yet, there's more coming in. Just a preview for @otoolep to have a look.
This comment looks wrong (I know it was like this before).