Add tests for password checks after user creation/password modification

Testing a connection with the valid password is not sufficient as it does not
account for the case of empty passwords (where any input password is
accepted). This commit adds an extra check for a failing connection with a
random password. The explicit case where --no-password is passed to user add
is handled in a separate test.
Fix interactive password input in CLI
Add omero.security.password_required.
Enable non-LATIN-1 encoding in PasswordUtil

 * All attempts to change the password will
   go solely through the utf8PasswordProvider.

 * Attempts to check the password will need to
   go through both password utils.

Conflicts:
	components/server/resources/ome/services/service-ome.api.IAdmin.xml
	components/server/test/ome/server/utests/sec/PasswordTest.java
Reverse default encoding and try with legacy

ConfigurablePasswordProvider subclasses can now have
an optional "legacyUtil" set. When present, it will be
used as a secondary password check only if the UTF-8
check is false.
Pass util to each method

In order to make use of the `legacyUtil` instance variable,
it's necessary to add more method signatures which take a
util argument.

Note: this is essentially a backwards incompatibility.
Subclasses which only know to make use of the main `util`
variable will break by not trying `legacyUtil` as well.
Considering that the LATIN-1 based PasswordUtil was
formally broken, the current state of the branch should
now be "best effort".
PasswordUtil.java: add ctor and tests.
PasswordUtil.java: handle null in isPasswordRequired().
PasswordUtil.java: update prepareSaltedPassword.
PreferenceContext: add password_required.
PasswordUtil.java: use trim().
AbstractServerTest.java: Fix initial failure.
Fix integration test setup
Fix session passwords in CLI integration tests
log password change events
add change time checking into integration test
Fix PasswordTest

Conflicts:
	components/server/test/ome/server/utests/sec/PasswordTest.java
PasswordTest: refactor and simplify
PasswordTest: add provider-level encoding tests
Add test for unicode password in test_user