Add a strict mode for undefined keys

Reopening #38 from a branch