Value: + {get,set}(none_t) for setting it to DataType::Nothing

The getter is a bit useless but will be used to streamline
swap_helper.
[test] Value: set for set(none_t)
Value::swap: use swap_helper also for DataType::Nothing
Value::assign_variant_from: use set(none) for DT::Nothing
Value: fix typos (no logic change)
Move NOEXCEPT macro to Platform.hpp from Exception.hpp
Value: declare its move constructor noexcept
Merge pull request #207 from gicmo/value_work

Unify swapping code and declare move ctor noexcept