Split custom_badges_really_ordered

Fixes #545 by splitting custom_badges_really_ordered into add_custom_badges and shift_custom_badges.

Keep in mind that the logic has flipped - shift_ and add_ need to be True by default.
Purely stylistic point: since the inner ``else`` block is gone, we could just combine the else/if blocks into a single ``elif``  block.