Ticket 137 - Implement EntryUUID plugin
Bug Description: This implements EntryUUID - A plugin that generates
uuid's on attributes, which can be used by external applications to
associate an entry uniquely.
Fix Description: This change is quite large as it contains multiple parts:
* Schema for entryuuid.
ldap/schema/02common.ldif
ldap/schema/03entryuuid.ldif
* Documentation of the plugin design
src/README.md
* A rust plugin api.
src/slapi_r_plugin/Cargo.toml
src/slapi_r_plugin/README.md
src/slapi_r_plugin/build.rs
src/slapi_r_plugin/src/backend.rs
src/slapi_r_plugin/src/ber.rs
src/slapi_r_plugin/src/constants.rs
src/slapi_r_plugin/src/dn.rs
src/slapi_r_plugin/src/entry.rs
src/slapi_r_plugin/src/error.rs
src/slapi_r_plugin/src/init.c
src/slapi_r_plugin/src/lib.rs
src/slapi_r_plugin/src/log.rs
src/slapi_r_plugin/src/macros.rs
src/slapi_r_plugin/src/pblock.rs
src/slapi_r_plugin/src/plugin.rs
src/slapi_r_plugin/src/search.rs
src/slapi_r_plugin/src/syntax_plugin.rs
src/slapi_r_plugin/src/task.rs
src/slapi_r_plugin/src/value.rs
* An entry uuid syntax plugin, that has functional indexing
src/plugins/entryuuid_syntax/Cargo.toml
src/plugins/entryuuid_syntax/src/lib.rs
* A entry uuid plugin that generates entryuuid's and has a fixup task.
src/plugins/entryuuid/Cargo.toml
src/plugins/entryuuid/src/lib.rs
* Supporting changes in the server core to enable and provide apis for the plugins.
ldap/servers/slapd/config.c
ldap/servers/slapd/entry.c
ldap/servers/slapd/fedse.c
* A test suite for for the entryuuid plugin
dirsrvtests/tests/data/entryuuid/localhost-userRoot-2020_03_30_13_14_47.ldif
dirsrvtests/tests/suites/entryuuid/basic_test.py
* Supporting changes in lib389
src/lib389/lib389/_constants.py
src/lib389/lib389/backend.py
src/lib389/lib389/instance/setup.py
src/lib389/lib389/plugins.py
src/lib389/lib389/tasks.py
* Changes to support building the plugins
Makefile.am
configure.ac
* Execution of cargo fmt on the tree, causing some clean up of files.
src/Cargo.lock
src/Cargo.toml
src/librnsslapd/build.rs
src/librnsslapd/src/lib.rs
src/librslapd/Cargo.toml
src/librslapd/build.rs
src/librslapd/src/lib.rs
src/libsds/sds/lib.rs
src/libsds/sds/tqueue.rs
src/slapd/src/error.rs
src/slapd/src/fernet.rs
src/slapd/src/lib.rs
https://pagure.io/389-ds-base/issue/137
Author: William Brown <william@blackhats.net.au>
Review by: mreynolds, lkrispenz (Thanks)