Delete should use GetVersion instead of Get

1) Currently Delete uses Get instead of GetVersion before doing delete.
This can cause the Get to count towards Quota and is also unnecessary
overhead when you want to delete things.
2) Now GetVersion is attempted and if multiple versions are encountered,
then a Get is done to do the read repair.
3) Put uses duplicated code, the code is consolidated. Made the methods
private. I think I should replace the GetVersion method with the new
method I wrote, but not sure what is the use case and saving that for a
later date.