Add a module-level docstring.

This also makes the 'import' statements uniform.
Use 'project' for finding occurrences.

'pycore's functions aren't used when finding occurrences, so it's better
to just use 'project' directly.
Move 'get_string_module' and 'get_string_scope' into libutils.

These methods didn't use anything within the 'pycore' object except to
pass that in as a parameter. It's better to have people call a library
function instead and use the 'project' object without having to access
'pycore' directly.

No functionality change intended.
Remove some unnecessary uses of 'pycore' in favor of 'project'.
Pass in the 'project' and not the 'pycore'.
Remove some unnecessary attributes.
Move 'pycore.modname' into libutils because it doesn't use any pycore functionality.
Move method to function because it doesn't use 'self'.
Move some methods from pycore to project.

These functions are better placed in the project object. Adjust the
functions that call them appropriately.
Use project, not pycore.
Move some methods from pycore to project.

These methods use objects from project and don't really have a reason
for being in pycore.
Use 'project.get_pymodule' instead of 'pycore.resource_to_pyobject'.
Update the tests to use 'project.get_pymodule'.
Add back deprecated functions so that external projects won't break.
Add 'is_python_file' to libutils to avoid using pycore directly.
Don't use 'pycore' where we don't need to.
Add module-level docstring.
Merge branch 'master' of https://github.com/gwelymernans/rope

Conflicts:
	rope/refactor/change_signature.py