Optional keys can have defaults.  Adds unittest to Optional

Fixes #47.