Further work on recursion

More work.  Code is pretty ugly but I believe it is appropriately
pulling in friends and linking friendships.  Throws a lot of exceptions
(tries to add things multiple times).  Needs to be optimized.  Also,
there is one special case that seems to have issues, but it seemed like
Steam itself was handling it in an odd fashion.