swap plugin: Improvements for the percent code:

* Don't rely on the left-to-right evaluation order, i.e. move the
  division to the right.
* Avoid casting by making many of the internally used variables gauge_t.
  They were derive_t in many cases for historical reasons that no longer
  apply.
* Change the naming: Don't use the "swap" type for percentages (putting
  the information that it *is* a percentage into the type instance) and
  use "percent" instead.