none_t is no loner constructible from literal 0

This caused problems because:
optional<T> o = 0;
always worked. But often it would create an uninitialized optional.