The purpose of this class is to easily build LDAP filters without having to
worry about correct escaping etc.
A filter is built using several independent filter objects which are
combined afterwards. This object works in two modes, depending how the
object is created.
If the object is created using the {@link create()} method, then this is a
leaf-object. If the object is created using the {@link combine()} method,
then this is a container object.
LDAP filters are defined in RFC 2254.