Replace distutils.dir_util by shutil

Using distutils in runtime code is not a good idea. distutils.dir_util
writes a verbose log and causes test cases that are being run via
'setup.py test' to create a lot of unneeded log output that can not be
suppressed easily. shutil.copytree and shutil.rmtree do the same as
the functions in distutills.dir_util without producing any log output.
supporting Store command in WebDriver playback. Fixes Issue 5653
Correcting .NET IE-specific test to properly handle alert
Prevent double-clicks when using WebElement.click().

When using the requireWindowFocus capability, it's possible that
multiple calls to WebElement.click() might happen too quickly, and they
might be interpreted as a double-click. This change inspects the last
time an element was clicked on, and if it is within the system double-
click time, it waits until that time passes before performing the second
click.
Making InputManager more robust in the requireWindowFocus case.

Previously, using the Windows SendInput API could cause keystrokes and
mouse events to be added to the system message queue, but would return
back to the caller before those events were processed by Internet
Explorer's message loop. This change adds a Windows mouse hook and
keyboard hook to monitor when the messages are processed by an
applications message loop. There is still a potential race condition, and
users may still need to execute some local synchronization code.
Making new (>=9) IE versions triggerMouseEvent like other browsers. Fixes
issue 2218
Deleting a couple of tests that duplicate similar tests in ClearTest class
Increasing port range for Firefox to listen to from 200 to 2000. Fixes
issue 2685
Fixing the issue when running python IE test target. Removed IEDriver dll resource dependency.
Unignoring a test that passes in all browsers. Fixes issue 2709
time.sleep replaced by WebDriverWait in tests
Merge branch 'patch-17' of https://github.com/jayakumarc/selenium into jayakumarc-patch-17
Adding string representations to Color
Updating .NET assembly versions for impending release
Moving the logic for handling synchronization out of the NewProfileExtensionConnection where _it absolutely and definitely does not, in any way, belong_ to the Lock implementation where it _absolutely and definitely does belong_.
Trying to fix "Unable to bind to locking port 7054" issue once again, now
without modification of NewProfileExtensionConnection. We should start
waiting for the connection timeout inside synchronization block. Fixes
issue 4790
Better detect focus on incorrect UI elements when requireWindowFocus is specified.
Ignoring TypingTest.testFunctionKeys for Java.

CI build recently moved to using requireWindowFocus for testing IE. When
this capability is used, the F4 key leaves the focus in the address bar of
IE instead of being able to reset focus to the browser canvas. Ignoring
this test for IE.
Fixing fireEvent in WDBS + IE. Fixes issue 3636
Add FindAll annotation to PageFactory

Signed-off-by: Simon Stewart <simon.m.stewart@gmail.com>