fix Value's memory leak

Value's default constructor has memory leak

e.g:
Value leak;
Value something = std::move(leak);

variable something won't take the ownship of leak._vectorData, leak._mapData, leak._intKeyMapData because leak's type is Type::NONE