Optional ldap test

Making LDAP tests optional based presence of python-ldap

If python-ldap exists then test_settings.py has the core ldap auth service added to AUTH_PROVIDERS. If not, then it's optional and the ldap tests are skipped.

This is because python-ldap is optional for usage, and installs of it is problematic on some machines and non-standardised. Allows one to omit its installation entirely and unit tests will correctly pass.