Broke up item generation

Items are now selected for type from a simple list with random.choice,
and item types are broken into sub-functions.

Currently they still spit out the same results, but this will make it
easier to distinguish.