Harden interface for Config engine classes.

Stricter handling of types makes it less subjective to coding errors.
Also corrected doc blocks.

Follow up on how most null cases are handled in the 3.x framework so far.