Fix for THEME_STATIC_PATHS by copying sensitively

If more than one path is defined in THEME_STATIC_PATHS, the theme's
static directory in output is deleted and replaced by the following
path's files.

Using `shutil.rmtree` to remove the entire destination tree if overwrite
is `True` assumes that we didn't want anything at all that was there. We
should recurse through the directory and their subdirs instead, leaving
things put there by the previous path where they were.

I lazily copied almost verbatim the solution for recursively copying a
diectory from http://stackoverflow.com/a/1994840.

The reason for this is patch is that without it, my plugin is broken! It
also makes my code a lot less crazy:

https://github.com/bmcorser/pelicanfly/commit/a83f066
Adding placeholder files for regression test
Add regressison test for recursively copying files
Hack out `overwrite` param
Clarification of THEME_STATIC_PATHS behaviour
More exciting files
Clarify revised functinality
add async and defer attributes to piwik.js

inspired from http://piwik.org/docs/javascript-tracking/#toc-where-can-i-find-the-piwik-tracking-code
Merge pull request #1056 from bmcorser/fix-utils-copy

Fix for THEME_STATIC_PATHS by copying sensitively
Fix `utils.copy` behaviour

Previously, the copy util failed if only a directory containing only
files was specified in THEME_STATIC_PATHS
Merge pull request #1075 from jeekajoo/patch-1

Add async and defer attributes to piwik.js
Support for pygment defaults and relevant documentation
Merge pull request #1083 from bmcorser/bmcorser/fix-utils-copy

Fix `utils.copy` behaviour
Merge pull request #1084 from karmadharma/pygmentdocsanddefault

Support Pygments customization in settings (reST only)
Fix a broken link
Merge branch 'master' of github.com:getpelican/pelican
Update changelog
Enhance and correct documentation
Removed obsolete comment.
Support for params and fragments in intrasite links. Adresses #1063.