TODO
----

    - remove/fix FIXMEs and TODOs from code;

    - better exception handling;

    - work as a transaction, i.e. perform one modify per edition and 
    one search per view (this could be all handled by the connection though).

    - add test for multivalued/lines fields;

    - always test ldap methods/functions return values to ensure it ran ok;

    - handle enconding of DN?

    - improve example types (include erroneous schemas and schemas that use
    all LDAP inetOrgPerson attributes);

    - raise exception if RDN already exists, i.e. don't allow duplicates of
    the rdn value (this must be guaranteed by the developer and the storage
    should only raise the exception);

    - develop product as an egg (and as a python package);

    - make test case based on ATTestCase, without the need for a plone site.

DONE
----

    - support rename / modrdn (already supported by LDAPConnection);
