RRD and restore support

This PR adds support for:
1) Reduced Redundancy when creating and when copying keys
2) the 'restore' operation on keys that have been lifecycle'd to Glacier (actual lifecycle support not included unfortunately)