Changed itypes to use a map instead of a hash, as well as some required ...

...changes elsewhere, like in bionics, to make that work.

This is a significant refactor. It is the first step on moving items out to an external data file, and allowing more control over how items work later on.