more model tests
add test for removing event handlers mid-emission
fix the case of removing event handlers mid-emission
add test for Model#remove emitting "removed" events
simplify and document some event logic in Model#set