Fix data_wrapper_t assignment operator, combined a few constructors, now relying on copy elision through the compiler.