Dynamic maintenance spawn tables

Created a generic weighted_pick() function that takes a strided list as input

Modified the random loot spawner to use it.

Added loot tables for maintenance.

NOTE: Due to the feature freeze, this pull request is ment for discussion and balancing of the tables. Also for adding more tables?