move user management mocking out of __init__ and into unit test

reusing the same instance of a mock for every test is a *BAD*
idea. stuffing all the mocks in a package's __init__ is also a
*BAD* idea. the number of subtle bugs that can be caused by this
are limitless.

Usually, mocking and patching should be done inside the unit test.
However, this wouldn't have worked for the following reasons:

 - The objects we want to mock are created _inside_ the imports
 - patching occurs _after_ the imports
 - the patcher can only return a mock if the method is called after
   patching

Therefore, since the objects are created before patching, the class
under test never uses the patcher.

creating package objects inside an import is also a *bad* idea (unless
you know what you're doing). The solution is to delay object creation
for as long as possible. Once that is in place, presto ! mocking and
patching works as expected
rename instance_user_management to user_management
move user_sdm mock from __init__ into unit test