First of all, the general rotation matrix is simply the product of the
three matrices required to rotate about specific axes.  These matrices
are:

Let c = cos(theta) and s = sin(theta)

        |1 0  0 0|
Let x = |0 c  s 0|
        |0 -s c 0|
        |0 0  0 1|

        |c 0 -s 0|
Let y = |0 1 0  0|
        |s 0 c  0|
        |0 0 0  1|

        |c  s 0 0|
Let z = |-s c 0 0|
        |0  0 1 0|
        |0  0 0 1|

      |c   0  -s  0|
x*y = |s*s c  s*c 0|
      |c*s -s c*c 0|
      |0   0  0   1|

        |c*c         c*s        -s  0|
x*y*z = |s*s*c+c*-s  s*s*s+c*c  s*c 0|  (answer to part 1)
        |c*s*c+-s*-s c*s*s+-s*c c*c 0|
        |0           0          0   1|
        
Let g = x*y*z
Let g**(t) be g transpose, g**(-1) be g inverse, and I be the identity matrix

              |c*c s*s*c+c*-s c*s*c+-s*-s 0|
Then g**(t) = |c*s s*s*s+c*c  c*s*s+-s*c  0|
              |-s  s*c        c*c         0|
              |0   0          0           1|

g**(t) = g**(-1) iff g**(t) * g = I

g**(t) * g =

          c*c*c*c+c*s*c*s+-s*-s                     (A)
Column 1: (s*s*c+c*-s)*c*c+(s*s*s+c*c)*c*s+s*c*-s   (B)
          (c*s*c+-s*-s)*c*c+(c*s*s+-s*c)*c*s+c*c*-s (C)
          0                                         

          c*c*(s*s*c+c*-s)+c*s*(s*s*s+c*c)+-s*s*c                     (D)
Column 2: (s*s*c+c*-s)*(s*s*c+c*-s)+(s*s*s+c*c)*(s*s*s+c*c)+s*c*s*c   (E)
          (c*s*c+-s*-s)*(s*s*c+c*-s)+(c*s*s+-s*c)*(s*s*s+c*c)+c*c*s*c (F)
          0                                                           

          c*c*(c*s*c+-s*-s)+c*s*(c*s*s+-s*c)+-s*c*c                     (G)
Column 3: (s*s*c+c*-s)*(c*s*c+-s*-s)+(s*s*s+c*c)*(c*s*s+-s*c)+s*c*c*c   (H)
          (c*s*c+-s*-s)*(c*s*c+-s*-s)+(c*s*s+-s*c)*(c*s*s+-s*c)+c*c*c*c (I)
          0                                                             

          0 
Column 4: 0 
          0 
          1 

Note: the above matrix products were generated with a symbolic matrix
multiplier, hence their strange format.

To demonstrate the above matrix is the identity, trigonometric identities
can be used, to show that:

(A) = 1, (B) = 0, (C) = 0
(D) = 0, (E) = 1, (F) = 0
(G) = 0, (H) = 0, (I) = 1

Each of these ((A) through (I)) are demonstrated in turn, below.

Note that: s**2 + c**2 = 1

Expression (A) = 1:
c*c*c*c+c*s*c*s+-s*-s    =
c**4 + s**2*c**2 + s**2  =
c**2(c**2 + s**2) + s**2 =
c**2(1) + s**2           =
c**2 + s**2              =
1

Expression (B) = 0:
(s*s*c+c*-s)*c*c+(s*s*s+c*c)*c*s+s*c*-s        =
(s**2*c - s*c)c**2 + (s**3 + c**2)s*c - s**2*c =
s**2*c**3 - s*c**3 + s**4*c + s*c**3 - s**2*c  =
(s**2 - s + s)c**3 + s**4*c - s**2*c           =
s**2*c**3 + s**4*c - s**2*c                    =
c(s**2*c**2 + s**4) - s**2*c                   =
s**2*c(c**2 + s**2) - s**2*c                   =
s**2*c(1) - s**2*c                             =
s**2*c - s**2*c                                =
0

Expression (C) = 0:
(c*s*c+-s*-s)*c*c+(c*s*s+-s*c)*c*s+c*c*-s           =
(s*c**2 + s**2)c**2 + (s**2*c - s*c)s*c - s*c**2    =
s*c**4 + s**2*c**2 + s**3*c**2 - s**2*c**2 - s*c**2 =
s*c**4 + s**3*c**2 - s*c**2 + c**2(s**2 - s**2)     =
s*c**4 + s**3*c**2 - s*c**2 + c**2(0)               =
s*c**4 + s**3*c**2 - s*c**2                         =
s*c**2(c**2 + s**2 - 1)                             =
s*c**2(1 - 1)                                       =
s*c**2(0)                                           =
0

Expression (D) = 0:
c*c*(s*s*c+c*-s)+c*s*(s*s*s+c*c)+-s*s*c        =
c**2(s**2*c - s*c) + s*c(s**3 + c**2) - s**2*c =
s**2*c**3 - s*c**3 + s**4*c + s*c**3 - s**2*c  =
s**2*c(c**2 + s**2) - s*c**3 + s*c**3 - s**2*c =
s**2*c(c**2 + s**2) - s**2*c                   =
s**2*c(1) - s**2*c                             =
s**2*c - s**2*c                                =
0

Expression (E) = 1:
(s*s*c+c*-s)*(s*s*c+c*-s)+(s*s*s+c*c)*(s*s*s+c*c)+s*c*s*c       =
(s**2*c - s*c)**2 + (s**3 + c**2)**2 + s**2*c**2                =
(s**2*c - s*c)**2 + s**6 + 2*s**3*c**2 + c**4 + s**2*c**2       =
(s**2*c - s*c)**2 + s**6 + 2*s**3*c**2 + c**2(c**2 + s**2)      =
(s**2*c - s*c)**2 + s**6 + 2*s**3*c**2 + c**2(1)                =
(s**2*c - s*c)**2 + s**6 + 2*s**3*c**2 + c**2                   =
s**4*c**2 - 2*s**3*c**2 + s**2*c**2 + s**6 + 2*s**3*c**2 + c**2 =
s**4*c**2 + s**2*c**2 + s**6 + c**2                             =
s**4*c**2 + s**6 + s**2*c**2 + c**2                             =
s**4(c**2 + s**2) + s**2*c**2 + c**2                            =
s**4(1) + s**2*c**2 + c**2                                      =
s**4 + s**2*c**2 + c**2                                         =
s**2(s**2 + c**2) + c**2                                        =
s**2(1) + c**2                                                  =
s**2 + c**2                                                     =
1

Expression (F) = 0:
(c*s*c+-s*-s)*(s*s*c+c*-s)+(c*s*s+-s*c)*(s*s*s+c*c)+c*c*s*c                   =
(s*c**2 + s**2)(s**2*c - s*c) + (s**2*c - s*c)(s**3 + c**2) + s*c**3          =
s**3*c**3 - s**2*c**3 + s*4*c - s**3*c + (s**2*c - s*c)(s**3 + c**2) + s*c**3 =
s**2*c**3(s - 1) + s*4*c - s**3*c + (s**2*c - s*c)(s**3 + c**2) + s*c**3      =
s**2*c**3(s - 1) + s**3*c(s - 1) + (s**2*c - s*c)(s**3 + c**2) + s*c**3       =
(s**2*c**3 + s**3*c)(s - 1) + (s**2*c - s*c)(s**3 + c**2) + s*c**3            =
(s**2*c**3 + s**3*c)(s - 1) + (s*c)(s**3 + c**2)(s - 1) + s*c**3              =
(s**2*c**3 + s**3*c + (s*c)(s**3 + c**2))(s - 1) + s*c**3                     =
(s**2*c**3 + s**3*c + s**4*c + s*c**3)(s - 1) + s*c**3                        =
(s**2*c**3 + s**3*c + s**4*c + s*c**3)(s - 1) + s*c**3                        =
(s**2*c**3 + s**4*c + s**3*c + s*c**3)(s - 1) + s*c**3                        =
(s**2*c(c**2 + s**2) + s**3*c + s*c**3)(s - 1) + s*c**3                       =
(s**2*c(1) + s**3*c + s*c**3)(s - 1) + s*c**3                                 =
(s**2*c + s**3*c + s*c**3)(s - 1) + s*c**3                                    =
(s**2*c + s*c(s**2 + c**2))(s - 1) + s*c**3                                   =
(s**2*c + s*c(1))(s - 1) + s*c**3                                             =
(s**2*c + s*c)(s - 1) + s*c**3                                                =
s*c(s + 1)(s - 1) + s*c**3                                                    =
s*c(s**2 - 1) + s*c**3                                                        =
s*c*(-c**2) + s*c**3                                                          =
-s*c**3 + s*c**3                                                              =
0

Expression (G) = 0:
c*c*(c*s*c+-s*-s)+c*s*(c*s*s+-s*c)+-s*c*c        =
c**2(s*c**2 - s**2) + s*c(s**2*c - s*c) - s*c**2 =
s*c**2(c**2 - s) + s**2*c**2(s - 1) - s*c**2     =
s*c**2(c**2 - s - 1) + s**2*c**2(s - 1)          =
s*c**2(-s**2 - s) + s**2*c**2(s - 1)             =
-s**2*c**2(s + 1) + s**2*c**2(s - 1)             =
s**2*c**2(1 - s) + s**2*c**2(s - 1)              =
s**2*c**2(1 - s + s - 1)                         =
s**2*c**2(0 + 0)                                 =
0

Expression (H) = 0:
(s*s*c+c*-s)*(c*s*c+-s*-s)+(s*s*s+c*c)*(c*s*s+-s*c)+s*c*c*c          =
(s**2*c - s*c)(s*c**2 + s**2) + (s**3 + c**2)(s**2*c - s*c) + s*c**3 =
(s**2*c - s*c)(s*c**2 + s**2 + s**3 + c**2) + s*c**3                 =
(s**2*c - s*c)(s*c**2 + s**3 + s**2 + c**2) + s*c**3                 =
(s**2*c - s*c)(s*c**2 + s**3 + 1) + s*c**3                           =
(s**2*c - s*c)(s(c**2 + s**2) + 1) + s*c**3                          =
(s**2*c - s*c)(s(1) + 1) + s*c**3                                    =
(s**2*c - s*c)(s + 1) + s*c**3                                       =
s**3*c - s**2*c + s**2*c - s*c + s*c**3                              =
s**3*c - s*c + s*c**3                                                =
s*c(s**2 - 1 + c**2)                                                 =
s*c(1 - 1)                                                           =
s*c(0)                                                               =
0


Expression (I) = 1: (unfinished)
(c*s*c+-s*-s)*(c*s*c+-s*-s)+(c*s*s+-s*c)*(c*s*s+-s*c)+c*c*c*c
(s*c**2 + s**2)**2 + (s**2*c - s*c)**2 + c**4
s((c**2 + s)**2 + (s*c - c)**2) + c**4
s(c**4 + 2*s*c**2 + s**2 + s**2*c**2 - 2*s*c**2 + c**2) + c**4
s(c**4 + 2*s*c**2 + s**2*c**2 - 2*s*c**2 + s**2 + c**2) + c**4
s(c**4 + 2*s*c**2 + s**2*c**2 - 2*s*c**2 + 1) + c**4
s(c**4 + s**2*c**2 + 2*s*c**2 - 2*s*c**2 + 1) + c**4
s(c**4 + s**2*c**2 + 1) + c**4
s(c**2(c**2 + s**2) + 1) + c**4
s(c**2(1) + 1) + c**4
s(c**2 + 1) + c**4
s*c**2 + s + c**4
c**2(s + c**2) + s