Maintain bitvector of original slashes from manifest when canonicalizing

Intended as a more satisfactory resolution to #843.

(Still testing, but useful enough to take a look now.)
Oh, this is still no good, needs to be "strnpbrk" to avoid searching to infinity for a \0. :P