fix Expected<..., eUnion> move / copy ctor
fix Expected<..., eUnion> move / copy ctor

Summary:
Consider `Expected<..., eUnion>(Expected&&)` ctor, where
`ExpectedUnion` move ctor would be called first, which is noop leaving
`which_`  uninitialized; then `MoveConstructible` ctor is executed, calling
`assignValue()`, which performs action depending on uninitialized `which_`.

Reviewed By: yfeldblum

Differential Revision: D4073199

fbshipit-source-id: 623660e7047afcebf9f72d83f91f84ff6078090f

Orvid/folly,charsyam/folly,facebook/folly,charsyam/folly,facebook/folly,rklabs/folly,charsyam/folly,Orvid/folly,facebook/folly,Orvid/folly,floxard/folly,floxard/folly,rklabs/folly,floxard/folly,rklabs/folly,rklabs/folly,floxard/folly,facebook/folly,charsyam/folly,facebook/folly,Orvid/folly,Orvid/folly,floxard/folly,rklabs/folly