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.)
Confirming above (yes, it does create Nodes). CanonicalizePath is wrong here then, because DepsLog::RecordId is writing Node::path() which will be all /.

One fix might be to Decanonicalize in the deps log to cause it to store canonicalized-but-original-slashes, so that CanonicalizePath would be ok, and would get a correct slash_bits. Otherwise, slash_bits needs to be added to the format, I think.