Fixes#1088
This should fix the path issues that people intermittently run into.
Gatsby sees the relative path (and the parent node with an absolute
path), joins on the parent path and the relative path, and presumes it's
a file... which is normally good, but which here is not what we want
beacuse then we're getting a resolver of type file instead of type
string referring to the relative path of the document.
This seems to fix a (long standing?) bug where the "Edit this Page"
button is broken, as well. e.g. see [this page](https://reactjs.org/community/support.html) which _should_ have an Edit this Page button
I'd need to think more as to whether there's a cleaner fix here, but
this seems to work pretty well!
* Dynamically append path alias (aaa/bbb.html = aaa/bbb = aaa/bbb/) into redirects during gatsby onCreateNode callback API to avoid 404
* Consider more cases:
(1) markdown without redirects
(2) duplicated permalink for /docs/pure-render-mixin.html, rename the unused one
* Test permalink with ending `.html` rather then containing them