optional component's nullopt_t is no longer default constructible.
Update parts of optional component to follow N3793 more closely (WIP)

This gets us closer to finishing up issue #1.