Initial implementation of weapon manager

Allows for management of many weapons and types.
This is not finished yet, plenty still to add