Move class doc to Doxygen.
Index using size_t to match std::vector.
Pay closer attention to signed/unsigned.

We now handle setting signed/unsigned values separately to not rely on
implicit conversion.  Also, the offset, length, and precision are now
explicitly unsigned.
Move class doc into Doxygen.
Move class doc into Doxygen.
Remove useless const on return value.
Fixed unused parameter warnings.

Also marked functions with the override keyword.