Try to avoid boost::pool's boost_system library use

This is a bit of a hack: there's a #define that sounds like it should
have this effect, but in the version I was looking at (1.55), it appears
you also need to fake an include guard. This is ugly, but so IMO is
requiring every program that links with STP to know about how to
link with the appropriate boost_system library.
Return 0, not garbage, on unlikely /proc parse failure

(Also avoid g++ warning about ignored fscanf() return value)
"Handle" fclose() failure more sanely

We still just fail an assert(), which is probably reasonable given that
this is a side output and the failure isn't too likely.
Neither I nor g++'s warnings liked the previous pun of using the 0
success return value of fclose() as a NULL FILE* via a cast.
Quiet enum/int mixture warning

Might be better style to use a const int for N, or at least g++'s
warnings think so.
The signed/unsigned mixing here is also weird, but I think doing the
comparison as unsigned is safest: neither negative values nor values
so large they can only be represented as unsigned are allowed.
Quiet various unused var warnings in CMS

Removing completely unused locals, and adding "(void)foo" with
an appropriate comment for parameters.