LDIF.pm: check for decoding errors in LWP-based URLs
LDIF.pm: refactor _write_entry

Allow _write_entry() to take a list entries interspersed with options-pairs.
(i.e. _write_entry($e1, control => $c1, $e2 control = > [ $c2a, $c2b ], ...).

The goal is to
a) keep compatibility with existing code
b) to make it possible to pass options specific to N:L:E objects
LDIF.pm: implement writing controls
Entry.{pm,pod}: accept options for update() in the LDIF case

With Net::LDAP::LDIF's write_entry() now being able to cope with options,
make use of it in the entry's update method.

This way, controls can be passed to Net::LDAP as well as Net::LDAP::LDIF
objects.
LDIF.pod: document write_entry()'s changed argument lists
t/10ldif-controls.t: tests for writing LDIF controls
Do not set SSL_ciphers to ALL by default

'ALL' cipher list is not the same as OpenSSL default. The 'ALL'
contains more ciphers. Some of them are too weak, some of them
prevents from using SSLv3 protocol. Then used SSLv2 protocol does not
support elliptic curve parameter negotion which can cause
interoperability issues when server picks a curve not supported by the
client.

IO-Socket-SSL-1.955 supports special value '' (empty string) to
designed the OpenSSL default. However older IO-Socket-SSL recommends
not to set the option at all.

Thus this patch sets SSL_ciphers only if Net::LDAP application passes
the ciphers option.

Signed-off-by: Petr Písař <ppisar@redhat.com>