Small rewrite of crematorium and morgue so they work right.

Only issue is that the damn things don't GC. Also lots of duplicate code between the two, still some other shittiness, but this is much better. I really just wanted to fix the bug where after usage you can't use em again until the tray gets deleted rather than GC'd.
On the plus side, they don't constantly make and delete trays every time someone opens them.

Also, and this is important, I uncommented the crematorium usage logging. It didn't runtime in testing so it should be good to go.
Merge branch 'master' of https://github.com/tgstation/-tg-station into cream_of_torium
Merge pull request #3173 from MrPerson/cream_of_torium

Small rewrite of crematorium and morgue so they work right.