fix no-return-in-nonvoid-function

* add explicit return to function
* see issue #52
fix warning, undefined operation

* remove double `b` on expression
add test: tridiag, solve_s_cyc
fix GCC strict-aliasing warning

Replaced endianess detection by a simpler one.
See: http://www.geeksforgeeks.org/little-and-big-endian-mystery/

Warning triggered with gcc 4.8.2. See issue #52.
CXXFLAGS: -Wall -fstrict-aliasing -Wstrict-aliasing -O3

matlab_producer.cpp:50:35: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
   nr_int16_t x = * (nr_int16_t *) EndianTest ;
Merge branch 'issue-52-opensuse-build'