title: Coverage.py does not discover tests without init.py file in sub directories
body: <p>When I run coverage for python, I always need an empty <code>__init__.py</code> file in the tests sub-directory to get coverage to run the tests. This is a requirement for python2 packages, but not for python3. To reproduce, I did the following (pre-requisites are python3, pip3 and brew):</p>
  
  <ol>
  <li><p>Run the following terminal command:</p>
  
  <pre><code>pip3 install coverage
  </code></pre></li>
  <li><p>Create the following directory structure:</p>
  
  <pre><code>example\
      example.py
  tests\
      test_example.py
  </code></pre></li>
  </ol>
  
  <p>example.py:</p>
  
  <pre><code>#!/usr/bin/env python3
  class Example:
      value = 3
  
      def update(self):
          self.value = 4
  </code></pre>
  
  <p>test_example.py:</p>
  
  <pre><code>#!/usr/bin/env python3
  
  import unittest
  from example.example import Example
  
  class TestExample(unittest.TestCase):
      def test_example(self):
          example_object = Example()
          self.assertEqual(3, example_object.value)
          example_object.update()
          self.assertEqual(4, example_object.value)
  </code></pre>
  
  <ol start="3">
  <li><p>Run the following terminal command:</p>
  
  <pre><code>coverage run --branch -m unittest discover -s . &amp;&amp; coverage report
  </code></pre></li>
  </ol>
  
  <p>I should get: <code>Ran 1 test in x.yz seconds</code>, but I always get <code>Ran 0 tests in x.yz seconds</code>, and to fix this, I have to add <code>__init__.py</code> files to both directories. How can I run coverage without needing the init files?</p>
  
  <p>Please let me know if you need anything else from me regarding this question. I would appreciate any help!</p>