0.  Generating functions is not really the right name.  I would say "parameterization."

1.  These formulas were known to the Babylonians.  The simple proof goes as follows: assume WLOG that a, b, c are relatively prime.  Since a, b, c cannot all have the same parity, WLOG b, c have different parity.  Then a^2 = (c + b)(c - b) where the factors on the RHS are odd and relatively prime (use the Euclidean algorithm), so they must both be squares, say p^2 and q^2 (use unique prime factorization.)  Then c = p^2 + q^2, b = p^2 - q^2, and this gives a = 2pq.  

2.  It's equivalent to showing that abc is divisible by 3, 4, 5.  This is straightforward if you know that squares are congruent to 0, 1 mod 3, congruent to 0, 1 mod 4, and congruent to 0, 1, 4 mod 5 because 1 + 1 != 1 mod 3 or mod 4 and 1 + 1, 1 + 4, and 4 + 4 are not equal to 1 or 4 mod 5.  This implies that two squares which are not divisible by 3, 4, 5 cannot sum to a square which is not divisible by 3, 4, 5.