Fix the User-User and User-Project Following Models

Now a User will able to follow many users. He/She can also follow a particular project instead of the user, similar to 'watch' feature in Git.