Change eudc-server-hotlist from a defvar to a defcustom

* net/eudc-vars.el (eudc-server): Adjust docstring to mention
eudc-server-hotlist.
(eudc-server-hotlist): Move from eudc.el and make defcustom.
* net/eudc.el (eudc-server-hotlist): Move to eudc-vars.el.
(eudc-set-server): Allow setting protocol to nil.
(eudc-expand-inline): Support hotlist-only expansions when server
is not set.
Support new-style LDAP URIs in ldap-search-internal

* net/ldap.el (ldap-search-internal): Support new-style LDAP URIs.
Improve eudc-inline-query-format's default value

* net/eudc-vars.el (eudc-inline-query-format): Change default to
query email and first name instead of surname.
Improve eudc-inline-expansion-format's default value

* net/eudc-vars.el (eudc-inline-expansion-format): Default to a
format that includes first name and surname.
Ignore text properties in eudc-expand-inline

* net/eudc.el (eudc-expand-inline): Ignore text properties of
string-to-expand.
Change eudc-expansion-overwrites-query default to nil

* net/eudc-vars.el (eudc-expansion-overwrites-query): Change
default to nil.
Add password-cache support to ldap.el

* net/ldap.el: Require password-cache.
(ldap-password-read): New function.
(ldap-search-internal): Call ldap-password-read when it is
configured to be called.
ldap-search-internal: Send password to ldapsearch through a pipe

* net/ldap.el (ldap-ldapsearch-password-prompt): New defcustom.
(ldap-search-internal): Send password to ldapsearch through a pipe
instead of via the command line.
Downcase field names in LDAP results

* net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): Downcase
field names of LDAP results.
(eudc-ldap-cleanup-record-filtering-addresses): Likewise.
Append LDAP wildcard character to end of search string

* net/eudc.el (eudc-format-query): Preserve the
eudc-inline-query-format ordering of attributes in the returned
list.
* net/eudcb-ldap.el (eudc-ldap-format-query-as-rfc1558): Append
the LDAP wildcard character to the last attribute value.
Do not ask the user for an LDAP base if a default has been provided

* net/eudcb-ldap.el: Don't nag the user in case a default base is
provided by the LDAP system configuration file.
Restore former eudc-expand-inline settings after a nonlocal exit

* net/eudc.el (eudc-expand-inline): Always restore former server
and protocol.
Handle nil password-cache in ldap-password-read

* net/ldap.el (ldap-password-read): Handle password-cache being
nil.
ldap-password-read: Validate password before caching it

* net/ldap.el (ldap-password-read): Validate password before
caching it.
(ldap-search-internal): Handle ldapsearch error conditions.
Update LDAP configuration section of EUDC manual

* eudc.texi (LDAP Configuration): Rename from LDAP Requirements
and provide configuration examples.
Mention binddn in LDAP credentials error message

* net/ldap.el (ldap-search-internal): Mention binddn in invalid
credentials error message.