Add support for running multiple servers

New functions added to create and destroy LDAP server instances so that multiple LDAP servers can be run at the same time. These servers can be started/stopped as a whole or managed individually by using their port number as a reference.

These changes should still maintain backwards compatibility, though the port() method will return a not so useful value if multiple servers have been create()ed.