Remove undocumented structuralCast in std.exception
fix Issue 4999 - Add Kenji Hara's adaptTo() to Phobos

Add structuralCast and structuralDownCast in std.typecons
Rename structuralCast to wrap, and structuralDownCast to unwrap
Merge pull request #1265 from 9rnsr/structuralCast

Issue 4999 - Add Kenji Hara's adaptTo() to Phobos