change calculation of MusicSessionUserHistory.duration_minutes to
exactly get the number of minutes overlapped with other user sessions.
previously it returned the entire music session time if a other user
joined in and left without staying compleyely within the session.
this commit also fixs an edge case of the query in
MusicSessionUserHistory.overlapping_connections