User agent

Add user agent string and header handling. I flubbed the merges a little bit... I thought I'd updated to the most recent trunk but I only updated to my copy. :-( Need to remember to use 'upstream' remote...