future: avoid a branch in future's move constructor if type is trivial
future: avoid a branch in future's move constructor if type is trivial

This patch implements Avi's idea of avoiding a branch if the type is
trivial. Now we unconditionally copy the bytes.

This is a small .text size win of 0.26% (41727716 to 41620404) and
small improvement in perf_simple_query --duration 16 --smp 1 -m4G. The
median improves by 0.3% (probably in the noise).

master:
median 148294.86
median absolute deviation: 239.88
maximum: 148680.51
minimum: 147982.40

patch:
median 148719.30
median absolute deviation: 220.59
maximum: 149402.30
minimum: 147956.24

Signed-off-by: Rafael Ávila de Espíndola <1975039f9046bf513b77c0c5639a0efc25f00e7f@scylladb.com>
Message-Id: <20200106172041.29105-2-1975039f9046bf513b77c0c5639a0efc25f00e7f@scylladb.com>

scylladb/seastar,dreamsxin/seastar,syuu1228/seastar,avikivity/seastar,avikivity/seastar,scylladb/seastar,cloudius-systems/seastar,cloudius-systems/seastar,scylladb/seastar,dreamsxin/seastar,dreamsxin/seastar,syuu1228/seastar,syuu1228/seastar,cloudius-systems/seastar,avikivity/seastar