Added authentication, admin actions, voting funcitonality and sped up post index view

For improved security, when logging out an user we usually wanna reset the entire session and not only one key. If other parts of the app stored something on the session, and the user logged out and another user logged back in, he would have data from the past session on his session. Use `reset_session` in these cases.