Nice write up. You might consider adding that the internal voltage references available are stated as nominal values. That is the 1.1vdc voltage reference may be between 1.0 and 1.2 for any specific chip. It will a stable reference but may not be exactly 1.1vcd and thus may not return the the reading one would expect if one always assumed that the 1.1vdc band gap is exactly 1.1vdc.

For that matter when using the ADC with the normal chip's Vcc (Avcc actually) one shouldn't expect the reference voltage to be exactly 5.000 vdc as USB voltage can vary from 4.75 to 5.25 or so, and the on board +5vdc voltage regulator will have some accuracy tolerance/variation.

A key to getting the best accuracy possible out of the arduino analog inputs is to be able to measure the actual Vcc and or internal voltage references so one can 'calibrate' the results in your mapping functions, if best accuracy is required.