media-session: free sm_objects only after session destroy emitted
Allows monitors (eg. bluez5) free any sm_objects they hold in session_destroy. In session_shutdown, destroy such objects before the event, and free them only afterward. Fixes double-free in bluez monitor.