ColorCodes: simplify and comment a bit.

- Simplify logic and increase explanation to make it easier
  for the casual reader.
- Remove the undocumented, untested and not-clearly-working
  "percentage" support.
- Replace `eval` with `try`, as is my wont.

Addresses #620.
Nope, this basically the former L85 and L102 combined without the crazy percentage thing in the middle.