To fix ENG-6666, make NValue cast operations produce un-inlined values

I like your way.  Just returning *this is nicer than calling memcpy!