Intelligently detect and ignore virtualenv folders in project directory
Background: a common pitfall for users is that Rope seems slow (e.g. https://github.com/python-rope/rope/issues/324), but when you dig deeper, often it becomes obvious that the root cause of the performance issue is actually not the performance of rope per-se, but rather because the user has a huge virtualenv folder in their project directory that rope thinks it needs to scan.
The patch in https://github.com/python-rope/rope/pull/358 adds a rudimentary detection of virtualenv folder, but this only works if you name your virtualenv folder as venv or .venv.
We need a more intelligent mechanism to detect and exclude virtualenv folder from being included as project files, one that'll work more reliably whatever the name of the virtualenv folder is.