No representation for usual ZERO-WIDTH chars

ZWNJ is so common in Persian texts, and its unicode bi-direction class in neutral.
But the representation chunk contains latin characters and are so left-to-right.
So, when ZWNJ is replaced by the representation chunk, rtl texts are rendered incorrectly.

ZWJ and ZWSP are from the same class, but less common at least in Persian texts.
Always ignore SCM info from root/home folder

Previously we would only pass the repository’s root to scm::info, and thus the check on the path passed in was enough, but today we are passing in paths for which we do not yet know the repository root, so the check should (also) be done for the path that ends up containing version control meta data.

We still do the initial check since it also rejects non-local paths, thus avoiding stat’ing paths on network file systems.
Switch from C++11 → C++1y (C++14)
Use binary literals in code (C++14)
Change decltype(mapVariable)::value_type → auto (C++14)