correction for the corner cases of round presented for the boost version
of round by robin eckert.

We suffer the same as round in simd common is quite trunc(x+Half). In scalar we use when available ::round and ::roundf that work
properly, but the code is not correct if they are not available.
The commit present a version that apparently correct the two flaws noted by roin eckert,but the code is not the same as in its
proposal as I tried it and it didnot work as 1-prev(0.5) is equal to 0.5.
optimize simd::transform for when inputs and outputs have compatible alignments, fix #756
include correction and changing test to avoid supplementary unary minus
bug corrected in length, length of an empty table is now 0
unused argument removed
arecatcompatible short-cuts when empty tables are used
missing numel include
Merge pull request #787 from jtlap/round_error

correction for the corner cases of round presented for the boost version
big issue in aligned_malloc, the order of arguments was wrong in the memalign case
Out is now a reference
fix formatting and restore correct semantic of inner_fold_step
boost::dispatch::meta::print for clang and MSVC
must include unistd before testing for _POSIX_ADVISORY_INFO
Fix some error in openmp scan spawner
only enable usage of memalign on GNU/Linux
Fix #745 - simd::compare_less QOI

compare_less algorithm on SSE/AVX targets was suboptimal as it
was reversing bits after computing the bitmask while reversing
elements using shuffle then compute bitmasks is more efficient
, lead to better inlining of compare_less based code and some
code refactoring using reverse and hmsb.
correcting round test not to assume double support. The tests are moved in the REAL_TYPES
section
Merge pull request #792 from jtlap/round_unit_tests

correcting round test not to assume double support. The tests are moved ...
Define correct number of output elements in sum bench
Add outer sum benches