LPS-38608 Trash refactor I.

Hey Jorge,

This is one of the pulls changing generic things. The main reason I added these methods to TrashContext is because it will be used in a lot of places and it's a lot of code to duplicate. After Brian had some problems with the original namings (when this was in ServiceContext) I decided to make them specific to trash but because of that I felt it didn't belong to ServiceContext as that is a more generic class.

Zs.