Merge pull request #1814 from sbesson/rebased/dev_4_4/2591_cli_flake8

Run flake8 on all the CLI plugins (rebased onto dev_4_4)
Merge pull request #1802 from mtbc/rebased/dev_4_4/trac-11687-removegroups-unloaded-users

fix #11687: removeGroups can take unloaded experimenters (rebased onto dev_4_4)
Added username/password to bind in ldap discover cli
Added paging to handle large result sets larger than server limits
Added case insensetive DN comparison
PEP8 formatted code
Set criticality to False for compatability for LDAP without paging extension
Handle empty serverctrls
Fetch all experiments by name at once
Fixed repeatedly checking the same DN against the oldDN recorded in OMERO
Set error code to seemingly unused 136 and improved error slightly
Die error should have a new line really
files.js missing from previous commit
Refactor CLI prefs unit tests to use pytests capsys fixture

- Drop MockCLI to use CLI instance itself
- Use capsys to systematically check the sys.stdout and the sys.stderr
Fix flake8 for the clitest unit tests
Add test/unit/clitest to the directories to flake8 in .travis.yml
Use absolutepath for setuptools in setup.py
Add cleanup() methods to test_hdfstorage.py
Fixing flake8 in ldap.
merge dev_4_4 -D org -I include -E exclude: PR 1690 (Webfigure TEMP)
merge dev_4_4 -D org -I include -E exclude: PR 1781 (Webstart popup windows 11656)