Fix ignorant handling of signs placed by others

It appears to address numerous amount of issues, including: #812, #801, #887.

Proposed solution uses dummy sign which is placed before updating
diagnostic signs and unplaced afterwards, which eliminates any
flickering.

It's common solution that can be found in some vim plugins that manage
signatures.
Ensure your code fits in 80 columns (GitHub doesn't make it easy to check this but this line appears to be too long).