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

You should do `validates_presence_of :user, :post` because validations are smarter when dealing with association, like checking if the associated object is marked for deletion which would then leave the parent object in an invalid state.