Adds drmgr emulation labels to the rep string loop expansion performed by drutil_expand_rep_string_ex().
Adds testing of the labels to the drutil test.
The end label for the rep string emulation is after the block-final branch. This breaks DR's block requirements. Since we need the label there, we go ahead and relax DR's must-end-block restrictions for various branches and syscalls to allow label instructions afterward.
Adds instrlist_last_nonlabel() and uses it for block checks and trace stitching to allow for block-final labels. Similarly, adds drmgr_is_last_nonlabel_instr() and drbbdup_is_last_nonlabel_instr() and uses them in places where a block-final real insruction is expected. Adds sanity tests of the new drmgr and drbbdup interfaces.
Fixes #4866 (closed)