Make scan_module and invoke private. Instead, add a recursive flag to
the ``scan()`` method. Update the docs to talk about it.