Add social feature to master branch

Adds functionality for users to follow other users also adds functionality to view the profile of an user.
User can also edit there first and last name