Library N3672, a utility class to represent optional objects

Editorial fixes relative to the proposal:

 - reorganize [optional.defs]/1 as an itemized list
 - reword [optional.object]/2
 - reword [optional.object.ctor]/2
 - add `constexpr` specifier to constructor declarations to match synopsis and _Remarks_
 - correct [optional.object.observe]/18 to depend on both constructors