bpo-18578: Rename and document test.bytecode_helper as test.support.bytecode_helper (GH-15168)

Rename and document test.bytecode_helper as test.support.bytecode_helper
diff --git a/Lib/test/bytecode_helper.py b/Lib/test/support/bytecode_helper.py
similarity index 91%
rename from Lib/test/bytecode_helper.py
rename to Lib/test/support/bytecode_helper.py
index 347d603..348e277 100644
--- a/Lib/test/bytecode_helper.py
+++ b/Lib/test/support/bytecode_helper.py
@@ -15,7 +15,7 @@
         return s.getvalue()
 
     def assertInBytecode(self, x, opname, argval=_UNSPECIFIED):
-        """Returns instr if op is found, otherwise throws AssertionError"""
+        """Returns instr if opname is found, otherwise throws AssertionError"""
         for instr in dis.get_instructions(x):
             if instr.opname == opname:
                 if argval is _UNSPECIFIED or instr.argval == argval:
@@ -29,7 +29,7 @@
         self.fail(msg)
 
     def assertNotInBytecode(self, x, opname, argval=_UNSPECIFIED):
-        """Throws AssertionError if op is found"""
+        """Throws AssertionError if opname is found"""
         for instr in dis.get_instructions(x):
             if instr.opname == opname:
                 disassembly = self.get_disassembly_as_string(x)
diff --git a/Lib/test/test_dis.py b/Lib/test/test_dis.py
index 11f97e6..fecf203 100644
--- a/Lib/test/test_dis.py
+++ b/Lib/test/test_dis.py
@@ -1,7 +1,7 @@
 # Minimal tests for dis module
 
 from test.support import captured_stdout
-from test.bytecode_helper import BytecodeTestCase
+from test.support.bytecode_helper import BytecodeTestCase
 import unittest
 import sys
 import dis
diff --git a/Lib/test/test_peepholer.py b/Lib/test/test_peepholer.py
index c90a532..47dee33 100644
--- a/Lib/test/test_peepholer.py
+++ b/Lib/test/test_peepholer.py
@@ -1,7 +1,7 @@
 import dis
 import unittest
 
-from test.bytecode_helper import BytecodeTestCase
+from test.support.bytecode_helper import BytecodeTestCase
 
 
 def count_instr_recursively(f, opname):