fixes #505

As mentioned in my previous pull request, this is an extension of the work done there to make it so when we unset a group badge, it keeps the same "registered" date, which matters because of the price bump.
Isn't this just a string that gets parsed by the system? Won't these strings impact performance and memory usage in the long-term?

Most of the code itself is readable and makes sense without comments - the only problems I have is understanding how things interlock and interact. I don't think comments like this are quite necessary.