Fix tautology reported by clang C++.

If statement with (strlen(line) >= 0) is always true.
Revised to > 0, which was the intended meaning.
Patch from Magnus Lundborg reported to mailing list.

pH model on amidine using -p 7.4 would leave the result uncharged.
Fix potential NULL deference errors indicated by Clang.

Added some "defensive" statements to check for NULLs before
dereferencing. Fixes issues flagged by Clang static analyzer.