.travis.yml: greatly expand the coverage + more builds

I've made the definitions more modular to allow for greater build
control in each part of the matrix. I've confined the additional stuff
to x86/x86_64 for convenience.
block/stream.c: ensure copy always set

This only showed up when compiling with
--enable-trace-backend=stderr|ftrace at which point the compiler
complains with the following:

block/stream.c: In function ‘stream_run’:
block/stream.c:141:22: error: ‘copy’ may be used uninitialized in this function [-Werror=uninitialized]

Not sure exactly why it needs these options but it does seem clear the
negative return case should be handled.