In Normal mode with unilateral_tap enabled, a same-hand key pressed
while an HRM was held would fire immediately (no buffering), causing
the roll to come out in the wrong order. The unilateral tap only
fired on key release, by which point the plain key had already been
reported first.
Fix by checking unilateral_tap + same-hand on press in the Normal
mode arm of make_decisions_for_keys, triggering UnilateralTap for
the held HRM immediately and setting CleanBuffer so the incoming key
fires after.
Add test: test_normal_mode_same_hand_roll_order.
I noticed that when I very quickly rolled a home-row key with another key fast (such as: a+g), what I would get would be "ga" as output.
That patch solves that issue by ensuring the taps fire in the correct order.