reformulate the test condition, since Mathematica 9 does a different
simplification, which leads to a failing test (but the expressions
are of course equal)
configure: add -lboost_system -lpthread to BOOSTTHREADLIBS

There is a case where the dynamic linker does not resolve the
dependence of libboost_thread on libboost_system, as reported by Peter
Athron.  Also, the dependence of libboost_thread on libboost_system
and libpthread must be explicitly specified when the executable is
statically linked with g++ -static.
Throw an exception if the SLHA input file cannot be read
if no SLHA output file is given, print model to stdout
Write the model parameters out only if there are no serious problems

(Softsusy does the same.)
catch bad_lexical_cast exceptions
Pass the tuple processor via const reference for performance reasons.

However, I don't understand why this works, because the tuple
porcessor is the result of std::bind.  The function parameter which is
bound, is a reference to a class, which will be modified by the
function call (see for example SLHA_io::process_modsel_tuple).  But
how can this object be modified when the tuple processor is passed as
const reference?
Merge branch 'master' into gm2