Analytical dynamic traffic assignment with interacting user-classes: Theoretical advances and applications using a variational inequality approach