First pass at the TrashCollection itself


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@14186 e27351fd-9f3e-4f54-a53b-843176b1656c
Store childType in the DB; childWithName() uses the childType to pick the right class


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@14187 e27351fd-9f3e-4f54-a53b-843176b1656c
remove() now calls toTrash()


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@14188 e27351fd-9f3e-4f54-a53b-843176b1656c
Update revisions table when moving to/from trash


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@14189 e27351fd-9f3e-4f54-a53b-843176b1656c