Cleaned up some issues with the npc menu, added roaming control

* The standard user interaction flow was totally broken
* Made it global (for now) since roaming npcs can be hard to lock down
* Made it so NPCs only wander around if they have the 'Roaming' property set
go fmt
Added error message for when the user selects an invalid menu option