[xbuild] Remove unnecessary/inconsistent path conversion hack

Directory separators are automatically converted from Windows->Native
when parsing MSBuild files, but any paths provided in code must already
be native.
[xbuild] Rework escaping in TaskItem to be compatible with MSBuild

The escaping/unescaping behaviour of TaskItem:ITaskItem was undocumented
originally in MSBuild, so our implementation did not perform any. This
caused issues with Tasks getting metadata and paths that were escaped,
trying to use them as-is, and failing horribly.

Fortunately the ITaskItem2 interface in .NET 4 provides complementary
accessors with documentation that indicates that it stores values
escaped internally, and the old accessors unescape the values.

This commit implements ITaskItem2, fixes the escaping behavior of the
old accessors, and removes some superluous uses of IDictionary.Contains.