Use std:: namespace on atoi/l/ll functions, remove _MSC_VER special case.

atoll() is in C++11, so we don't need the special case any more.
Move operator<< for many classes into their respective header files.

They used to be all in ostream.hpp which was confusing, because it had to be
included separately. The original idea had been that this way we don't have to
always create a dependency on the ostream headers even if it is not needed. By
using a template for the operator<< function we now don't have this dependency
but can put the operator<< functions where they belong. Lets hope the extra
cost for the template doesn't matter. Anyway, this is easier to use for people
and we can get rid of the extra include in a bunch of places.
Make filename in test output easier to cut-and-paste.
Move the remaining operator<< in ostream.hpp to item_type_ostream.hpp.

This operator<<() function needs some definitions from <iostream>, so we can't
just use a template as with the other operator<<() functions. Anyway, writing
out the item_type is usually only needed for debugging.