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
Fix the behavior of Markdown extensions.

There was several issues here:
- `self.extensions` was adding 'meta' multiple times (ref #1058)
- `self.extensions` was keeping a reference to `self.settings['MD_EXTENSIONS']`,
  so adding 'meta' to it.
- the `%s_EXTENSIONS` block coming after, it was overriding `self.extensions`
  with `self.settings['EXTENSIONS']` (while it was a reference, it was working,
  but ...). As this is currently used only for Mardown, the simplest solution is
  to remove this, and let each reader manage its `_EXTENSIONS` setting.
Merge pull request #1066 from saimn/markdown

Fix the behavior of Markdown extensions.
Change the regex so that it parse |filename| and {filename} equally

Updates getpelican/pelican#1061
 Correct upload targets in Makefile.in
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
Close some HTML tags. Fix #1076
Update documentation to reflect change in intrasite link syntax

Updates getpelican/pelican#1061
Add INTRASITE_LINK_REGEX to configuration that user can modify

This INTRASITE_LINK_REGEX is a string. It should have the capturing
group name which is `what`.

This change was made after discussions with @ametaireau and
@justinmayer.

1. https://github.com/getpelican/pelican/pull/1067
1. https://github.com/getpelican/pelican/pull/1071

Updates getpelican/pelican#1061
Update settings documentation to explain INTRASITE_LINK_REGEX

I have added reference to "Linking to internal content" section because
without it, it is difficult to explain the usage.

I have also updated changelog.

Closes getpelican/pelican#1061
Merge pull request #1071 from talha131/change-intrasite-link-syntax-updated

Change intrasite link syntax updated
Add details on how to use Pelican for non-blog static sites

This question comes up on IRC quite frequently.
Add tip on how to add videos to your blog.
Update changelog.rst

1. Escape `|tag|` and `|category|` with double ticks otherwise reST converts them to links that are invalid.
2. Updated syntax for relative links use braces instead of bars.