Added the new companion generation algorithm

The companion creation function is now good to go. Feel free to add new
attitudes to Ai.hpp and the appropriate cases to the createCompanion
function. The "bool racial" is to determine whether it is the player's
racial companion or another random companion being created.

If  someone wants to add companions to a room, use it just like
createArtifact and it should work. Just make sure to pass (false) as the
argument. The NULL for the tamer pointer is untested, but it should be
OK.

I can add it later if someone doesn't want to, but there is not yet a
keyboard command to switch your companion to a new one. It would just
entail moving the pointer to the other companion and possibly deleting
the old one. Or just leaving him there.