Fix #397 - Made tieable functions work in all cases

This commit make function like frexp, remquo, sincos and other
to behave consistently between scalar, SIMD types and table or
expression by adding support for these three scenarii wherever
it was lacking. Tests have been amended to test for every cases.

Addiitonnaly, this commit break API comaptibility by making the
compact call to these function returning a std::pair instead
of a fusion::vector. This is done to simplify code base and
to reduce compile-time by not dependign on the heavy machinery
of fusion::vector.