Use Exception.ToString()

Add legacy switch
Add tests
Merge pull request #2436 from Particular/exceptionHeaderTweaks

Use Exception.ToString in headers