Don't set missing keys to null.

If key is missing from input it should not be set
to null in resulting object because such object
can't be but back into encoder.
Optional key bug decode test
Add a test: Decode default optional