Fix Tuples.cs code generator

The code generator in Tuple.cs did not build because of missing
escaping of a string.
Make tuple hash function consistent with the F# implementation

The F# compiler optimizes the hashing of tuples when it can inline
it. This is consistent with the hashing algorithm used in .NET, but it
is not with the one used in Mono, as pointed out in
https://github.com/fsharp/fsharp/issues/188

This patch modifies Tuples.cs so that the hashing algorithm is the
same as that used in F#, i.e. the XOR variant of DJB2, using a
balanced tree parenthesization.
Merge pull request #847 from ranma42/fsharp-tuple-hashing

F#-compatible tuple hashing