Added Second layer of User Authentication
- Added flashing with categories in the views to handle error cases with proper style
- Added Flask-login to handle the session of the user
- Modified the Class User to fit the specification of Flask-login