Update saveChar to work on shapeshifted PCs
Update saveChar to work on shapeshifted PCs

Saves were meant to work for shapeshifted/polymorphed PCs but weren't
due to some logical oversights. This commit updates the saveChar
function to correctly handle when a character is trying to save while
shapeshifted/polymorphed.

It also updates/modernizes the code where possible and applicable.
Might be able to use std::ifstream instead of fopen, but that should
probably be its own project.

sneezymud/sneezymud,sneezymud/sneezymud,sneezymud/sneezymud,sneezymud/sneezymud,sneezymud/sneezymud,sneezymud/sneezymud,sneezymud/sneezymud