optional<> a la N3672

Standard optional<> will be slightly different from the one we've been using.   Visibly: emplace becomes in_place, and "get_value_or(a,b)" becomes "a.value_or(b)".

Find it herein.  Also find patchlets for double-conversion.