Fix handling of signs placed by other plugins and user

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.
Just checked out. This line has length of 79 characters.