Added base-16 lower-case and upper-case serializations

Base-16 lower-case is the format string 'x' and upper-case is 'X'.
Moved the indexers to the private API as they are not immediately
useful to the client.
Adjusted the precondition on the index to the indexers.