LDAP: ws cleanups, test load ldapjs in register,

###  reworking of PR #636 
* whitespace cleanups
* strict
* jshint
* try loading `ldapjs`
* only register rcpt_to hook if `ldapjs` loads
* corrected syntax of logging calls
* added per-domain LDAP config
* make sure domain defined before using
* move host_list functions from `rcpt_to.in_host_list` to `rcpt_to.host_list_base`
* added tests for `rcpt_to.host_list_base` and `rcpt_to.ldap`
Shouldn't the actual search filter attributes be variable?? e.g. mail and mailAlternateAddress will work for some schemas, but for example won't work correctly for Microsoft Exchange where the primary address and aliases are stored in proxyAddresses e.g.

`````
proxyAddresses: SMTP:foo@example.com   (SMTP in uppercase = primary address)
proxyAddresses: smtp:foo.bar@example.com (SMTP in lowercase = alias)
`````

I'm sure there are other weird an wonderful combinations as well (e.g. Lotus Domino/Notes, FirstClass etc.)