Starter for red nodes support.
Recursive parents' type now more intelligent

For example, FileSystemEntryRed isn't the parent --
FileSystemDirectoryRed always would be.
Adds DebuggerDisplayAttributes for meta types.
Adds missing enumerator methods.
Red nodes now declare their own wrapper red fields

Fixes remaining build breaks in red types.
Switching to struct red nodes.
Recursive collections for red nodes now readable.
Adds some tests and red node equality.
Provides more convenient type casting for structs.
Adds a failing test to identify the next work item.
Centralizing the placeholder for spine rewrite
Root node changes now include spine rewrites.
Revises ReplaceDescendent in terms of new GetSpine().
Translated a TODO to a skipped test.
Adds bulk With(*) method to red nodes.
Minor identity fix.
Adds support for type conversions in rooted structs.
Fixes and enables one unit test in ReplaceDescendent.
Fixes WithRoot to throw at times, and enables the test for it.
Fixes a few compiler warnings.