My goals are that in other languages, such as Python, a log record contains the level and the levelname. The level is more useful for filtering, such as `if record.level >= log::WARN`.  And then the levelname is more useful in formatting. However, since you can specify custom levels that don't have a name, you might need to output just the level number.

So, I need:

- easy `Ord`. Probably against a u32, but maybe it'd be fine to ask people to do `if record.level >= LogLevel(20)`
- Easy outputting of the name or number. I figured I could implement `fmt::Show` and `fmt::Signed` for LogLevel. Show would try to show the name if possible, and Signed would always just show the number.
- No need to have both `level` and `levelname` as fields on the LogRecord, since they can be derived when needed.

I also wanted to add `fmt::Signed` to `LogLevel`.