String handling changes, parser additions & fixes

More changes to loading, storage and saving of names/descriptions of
items, enemies, etc., still not the nicest solution but it appears to
work reliably now; cleaned up descriptions etc. in EncounterGroupParser
& added and documented battle BGM value; fixed ItemCompoundParser
throwing exceptions for invalid items - game has at least 256 item
compound entries per group (weapons, body armor, other armor, etc), but
not necessarily as many valid items