Update the way we control global mocking state

Force global mocking on in test code.  In order to make sure that
any mocking takes place at all, we force mocking on in the test
functions that we are running to do the testing.

The approach has two main advantages over the previous approach:

 1) it doesn't care about the test framework used, it will work with
 anything that calls public functions in the xxx_test.go files.

 2) it won't break if the test framework changes - the old method
 would do nasty things if the test framework was rewritten in a way
 that affected the functions that we rewrote.