Convert ammotype from an enum to a std::string to allow more values.

Please review carefully, ample opportunity to break things in here.