Ticket 47381 - nsslapd-db-transaction-batch-val turns to -1

Bug Description:  If you set nsslapd-db-transaction-batch-val to zero, assuming
                  it was set to a number greater than zero, it gets changed to "-1".
                  Also, once it is set to zero, it is impossible to change the value
                  unless you edit dse.ldif manually.

Fix Description:  First, do not transform a zero value to "-1".  Second, allow the
                  changing of the value regardless what the current value is.  If
                  batch transactions are disabled, log a mesage if we try to "enable"
                  it, stating that you need to restart the server.

                  Also needed to improve the synchronization if disabling batch txns,
                  as its possible to disable it while flushing is occurring.

                  Finally did a little code cleanup.

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

Reviewed by: Noriko(Thanks!)
Add hardened build option and correct changelog dates

This adds the hardened build option to our spec file used for
developer RPM builds.  This makes the build use PIE flags and
full relro during compilation.

In addition, this corrects some of the dates in changelog entries.
More specifically, the day of week did not line up with the date.

These changes bring our spec file in-line with the Fedora 19+ spec
file.
Ticket #47384 - Plugin library path validation

Bug description: ldapmodify could replace the plugin path with
an invalid path.

Fix description: This patch adds the validation code to dse
callback.  If modify operation is requested for a plugin entry,
the registered callback check_plugin_path is called and check
the given plugin path.

This patch also has made get_plugin_name public as slapi_get_
plugin_name.  Now, the following plugin paths are allowed:
  /path/to/lib<plugin>.so, /path/to/lib<plugin>,
  lib<plugin>.so, lib<plugin>

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

Reviewed by Rich (Thanks!!)
Ticket #47374 - flush.pl is not included in perl5

Fix description: replaced obsolete flush.pl and getopts.pl with
perl5 equivalents.

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

Reviewed by Rich (Thank you!!)
Ticket #47409 - allow setting db deadlock rejection policy

https://fedorahosted.org/389/ticket/47409
Reviewed by: nhosoi (Thanks!)
Branch: master
Fix Description: Add the db config attribute nsslapd-db-deadlock-policy.  This
takes values from 1-9.  The values correspond to the deadlock detector modes
in db.h.  These are the valid values to pass to the DBENV->lock_detect
method for the atype parameter.  The default value is 9 (DB_LOCK_YOUNGEST) -
select the youngest locker and reject it.  A value of 0 (DB_LOCK_NORUN) means
to disable deadlock detection and rejection - not recommended except for
testing purposes.  Attempting to use other values will cause an error.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: yes - document new config parameter
Ticket #47409 - allow setting db deadlock rejection policy

https://fedorahosted.org/389/ticket/47409
Reviewed by: nhosoi (Thanks!)
Branch: master
Fix Description: Forgot to add flags parameter to last commit.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: yes - document new config parameter