Weapons can be changed now.

A lot of hardcoded rubbish which I had to knock over and replace.

We can replace the initial weapons now.

Before: Zed would call WeaponArsenal for the weapons he will be using
for the level.

Now: A new script attached to environment, XYZArsenal, will grab the
weapons Zed will use for the level from WeaponArsenal. ZedResources does
not handle Arsenal initialization anymore. Weapon pickups can be dynamic
now (theoretically), weapons can (theoretically) adopt any weapon number
correctly now.

Also, some semi-stub implementation: I have also added a weaponType
string to each weapon, for future weapon type-dependent functions
(Mostly animator-related).

I tried to implement a revolver reload sound (With casings clinking onto
the floor), but I forgot the weapon switch sound is the same as the
reload sound. Sad. Will fix with time to come.

However, that probably means a longer constructor :(

We will have to find a way to fix that.