Replace _init with proper constructor chaining.

This involves changing to 'new style' python classes so that the parent
__init__ can be called via super(), though this should be harmless.
Add comments explaining what's happenning in the constructor so that
the bind and re-create of the srusers.user (which is no longer obvious)
is clear. Also use a local rather than re-using the instance _user field
for the password check.

Change-Id: I4e1681a960e0aa761bb58b3ba89719bd7b2c4707