Initial commit checking in basic check, required, optional, and get
functionality.

This could be extended with verification on the get calls (type,
nonfalsey, nonempty, nonzero, etc