Implemented Quaternion.FromMatrix

I needed a matrix-to-quaternion conversion for parsing a model format, so I implemented it here.

The APIs I added:

 - `Quaternion(d).FromMatrix()`
 - `Matrix[2/3/4/2x3/2x4/3x2/3x4/4x2/4x3](d).Diagonal`
 - `Matrix[2/3/4/2x3/2x4/3x2/3x4/4x2/4x3](d).Trace`

Also I added a bunch of missing doc comments to significantly reduce the number of compiler warnings.