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.

The wrong behaviour can be observed by running `setup.py test` from the following gist: https://gist.github.com/bikeshedder/5509187

The original commit that introduced the verbose output is a30844e2d30041483d5a95ca257be1c2ef425bc1