Checks key exists rather than isset

If the default value is set to `null`, `isset` will return `false` even though the key is actually there for a reason.
Added test that passes following previous commit
#1202 - simplified test and test asset
Merge branch 'hotfix/#1202-nullable-options-should-be-allowed'

Close #1202