Begin fixing badge numbers

Changes the 8.5 badge numbers, and starts making uber check if they're in range when shifting them up or down.

This isn't a very good solution, but we can use this to fix the staff and supporter badges and make them adhere to the new numbers. Basically, you can select "next available badge" on a Supporter or Staff badge, and it will fix all those badges' numbers... except the one you're actually changing.
Yup, "a" is right here.

We're not shifting valid badges, as you enumerated above. We're shifting invalid badges.

What this should do is:
1. Check if the badge we're shifting is valid
2. If it isn't, starting with the badge above it, 
3. Call the function recursively to set each badge to the minimum value
4. and then shift them by however many times the function is called for them.

So what we end up with is a group of sequential badges, starting at the minimum value. This seems to work well enough while I was testing in my local copy, but, uh, it was late at night. The reason I made the PR was so we could discuss the code I hacked together and whether or not it actually works.