Only ignore existing matches if preserve_all_lines is used

That option is documented to disable convergence, while preserve_block
should respect existing occurances of the promiser within the selected
region.

Redmine #1525

(cherry picked from commit 37065c7ac536a8147179eeb091d985abe62d887e)