prevent duplicate actions on a post

This improves [PR 810](https://github.com/discourse/discourse/pull/810) by generalizing the check on duplicate user actions as per @SamSaffron's suggestion.

Also refactored a bit `post_actions_controller.rb` and removed the empty `post_action_type_spec.rb`.