Fix behavior of Console.Is*Redirected.

Setting Console.Out to a custom stream should not affect the value
of Console.IsOutputRedirected. This is how Microsoft's implementation
behaves.
Merge pull request #686 from LHCGreg/12971-IsRedirectedAfterSet

Fix behavior of Console.Is*Redirected.
Add test
Merge
Revert "Merge"

This reverts commit cbe746f29f75cb72c0b0df1e8647d33238b5096f.
Revert "Revert "Merge""

This reverts commit ed1838b4e706dc1ba2d701c2f6b5fc71df03bfb3.
Revert "Revert "Revert "Merge"""

This reverts commit 5705602f1b01fa05366c9c0328a9b5e3e4eecd89.
Add a test for #12110.
Updated gitignore
Make the synchronized wrappers static if the original method was static. Fixes shared-generic-synchronized.2.exe.
Remove the constraint checks from get_shared_inst (), it is no longer needed since we replace gsharedvt arguments with a vtype now. Fixes #12727.
Update after newline update
Bump mono to 3.1.1
Place the method_addresses symbol into the .text segment on mt, not rodata, since it is actually code.
[runtime] Don't return success on invalid parameters, raise an exception instead.