Improve new_only handling.

When called with new_only check_diff() would return with exit status 1 even
when there was no new line but some lines disappeared (for example, messages
expiring from the dmesg buffer:
http://forums.freenas.org/threads/security-run-output-possible-error.15660/).
It still only works properly for normal diff, so the default diff option was
modified. I was tempted to change the new_only filter to "egrep '^(>|\+[^+])'"
That would filter out the unified diff +++ header, but would also remove
possible new lines starting with a +.
Needed for: https://bugs.freenas.org/issues/3361