Performance improvements for monsters

Reduced unneeded networks calls that continued to broadcast that a
monster was active, even after it was active.
Replaced monster list storage with a dictionary, and abstracted calls
to get monsters list.