Fixes for custom requirements and rewards

This feels like a pretty hacky fix, but it does work. I think the general problem needs more investigation, and this may not be the right fix at all, but I figured this was at least a good way to bring the problem to your attention.

Without this fix, I am unable to edit a quest with a custom reward or requirement- it will fail on save, and kick me from the server to boot.

The core problem seems to be that a Quest loads custom req/reward data as a Map, but the chat session presents it as a List when creating a new Quest. I'm not familiar enough with this chat API to know what's going on, so I kind of band-aid'ed over it by having the save method handle both cases.

I re-opened this PR on a branch, after cleaning it up a bit.