Fixed lint warnings

I ran a linter over the whole codebase and it found lots of little easy-to-fix problems. The biggest one was that object extradescs were being lost when loaded from XML, which affects rented items.  Apparently no-one looks at objects anymore...

Also, I changed nearly every instance of bit shifts (<< and >>) being used for arithmetic. They're now only used for bit manipulation and a couple of places where exponentiation is used as a game mechanic.