Ticket #47424 - Replication problem with add-delete requests on single-valued attributes

https://fedorahosted.org/389/ticket/47424
Reviewed by: lkrispenz (Thanks!)
Branch: 389-ds-base-1.2.11
Fix Description: Change the single master resolve attr code to handle the
specific case of doing
add: newvalue
delete: oldvalue
Had to add a new API function - csn_compare_ext - to be able to compare CSNs
without the subsequence number.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
Ticket #47435 - Very large entryusn values after enabling the USN plugin and the lastusn value is negative.

1. Bug description: The initial value of lastusn is -1, but since
the entryusn has the unsigned long long integer type, the server
returns 18446744073709551615 == 0XFFFFFFFFFFFFFFFF.

Fix description: The initial value "-1" is returned as it is.

2. Bug description: Entryusn syntax is defined as an integer in
the schema.  If negative values are accidentally stored in the
entryusn value in the database, it was casted to the unsigned
integer in the entryusn initialization code (usn_get_last_usn).

Fix description: When an entryusn value is retrieved from the
database, it's checked as a singed integer once and if it is
negative, it's replaced with the initial value "-1".

https://fedorahosted.org/389/ticket/47435

Reviewed by Mark and Rich (Thank you!!)
(cherry picked from commit c94da991450da486b2032815b867bd2548a1614c)