Refined plate order algorithm.

- Runs incrementally on 4 at a time.
- Requires as argument the current state of the bar.
Added a told reps or reps program thinks you should do to db layout.

This is because it needs more info than what you did.  It also needs to
know what you intended to do, which is most often what this program told
you to attempt.  That way it can better determine what the hell you
intended on doing doing when your weights and reps go up and down randomly when you mess things up.
Cosmetic changes to plate order algorithm.  More changes coming.
More tweaks to formulas.

- Fixed some bugs with low weights.  Probably added a few more in.
- Stagnancy checks were not correct, they require two workouts.
- Known bug, if you improve or regress on a workout but don't change
  weight, this program can have trouble determining the rep count you
  intended to use in the future.
Putting back in desirability filter in case I ever need it.
Refactored platecalc to use rational. Works way better.
Adding show instance for plate calculations.
Adding a display function for plate orderings.
Modified workout function to reorder plates using the plate ordering
alg.