Allow mock-based patching in shell tests

Added `patch` method that uses mock.patch (similar to `patchobject`)
  - NOTE: this shadows `testtools.TestCase.patch` method that uses
    simple monkey-patching in favor of mock-based patching,
    relevant comment added in the code.
Also oslotest dependency is added.

Change-Id: Ie4d25bc53decb308398eded350c81a90a257b254
Related-Bug: #1384511
Fix shell tests for Python 3.4

Partial-Bug: #1384511

Change-Id: I7485184a84ec850c4cd695118f18b55e298f5124
Fix event tests for Python 3.4

Change-Id: Idec7e84fcc168df707e89042831ae8f1afb2067c
Partial-Bug: #1384511
Fix template_utils tests for Python 3.4

Change-Id: I9e4df63771e8fdb6433e65faffedef60d0320062
Closes-Bug: #1384511