Changing schema to improve efficiency

Changing the way post inserts, association, archival is handled.

:exclamation: Removing the trigger function, added in prev commit , to
have an efficient way of building relation between user, post, groups.

Now, we have a table for user archived posts. Get posts from a group for
a user will select all posts in the group minus the archived posts by
that user. This is coming from the view `vw_user_posts`

:bell: Updating the DB Access Objects with the schema change.
get_posts_for_group takes user_id & group_id as input now.
get_post also takes user_id & group_id as input.
This is done to get user specific result from the view.

:bell: Updating test classes with the schema change.
Adding test case for a user to join an existing group

Updating schema sql dump with the changes

Thanks @shrayas :panda_face: for the inputs :+1: