Fix compiler warnings

The compiler warnings that the MSNumpress code generates in our code base have
been raised as an issue on the OpenMS side. I have thus looked a bit at those
warnings and most of them are due to implicit casting. IMHO explicit is better
than implicit and I have added explicit casts wherever deemed necessary. Also,
I have fixed a few other warnings and added a flag which allows to throw an
exception if the conditions of the cast are not fulfilled. The last patch is
optional but I think it makes somewhat sense to check whether the input data
can be encoded using the parameters provided or not. I can also split the pull
request and first merge the changes without the additional run-time checks.

This should now build without any warnings using

g++ -Wall  MSNumpress.cpp -c
clang++ -Weverything -Wno-long-long -Wno-global-constructors MSNumpress.cpp -c

In OpenMS, we also still get the same results using this code.