use mock.patch to control patch state; improve tests

assign: @amygdalama 

Currently we've got a bunch of hacky custom logic to handle patching and unpatching. . .that didn't even work for `__init__`, haha (exercised by [this test](https://github.com/venmo/btnamespace/compare/fix_unpatching?expand=1#diff-7eb47fc18d4a6196f0940784484a5bf3R34)).

This PR drops our custom stuff in favor of mock.patch.
good catch: I don't. I noticed this while working on the next PR: https://github.com/venmo/btnamespace/commit/5d2536628da5405564c8971faf8f9bb3fab94c4f#diff-6801cbd98b89d727ee877df9698e72e7L84.