operator<< for std::unique_ptr

This doesn't really work, I think.  The operator should be in namespace std for Koenig lookup to work.  But then adding stuff to the std namespace is a no-no.

I would drop this PR and just print p.get() when appropriate (it may actually be more readable at the call site).