Add Interaction Model,responsible for managing user/media interactions
Use Interaction Model to manage interactions

* Unifies code and reduces chances for error.
Cascade Media Deletion by deleting associated entities

* Includes:
  * Comments
  * Media
  * Playlist Items
  * Interactions
Only add existing media to PlaylistItem array

* prevents the "deadlock" issue where media can't move up the
  playlist if a media in the middle was deleted.