Added unit test for utils.FormatName()
Use an RW mutex for the model
Prefer passing in object pointers rather than object ids into the model functions

For a couple reason:
* Improves type safety
* In at least one case it eliminated the need to use the model's mutex

Also updated the "look" action to be able to target players, NPCs, and items (even though
they have no descriptions to speak of at the moment)
More consistent command names for destroying rooms and items

Added feedback for when a room is destroyed