Fleshed out XP sending

Now works for magic and ranged.  Converted UpdateExperience() into a
switch statement because I don't trust compilers.