simplify, clarify TextSentinel

codeclimate pointed this out. I agree it is better
to simplify and reveal intentions.
small refactor of RateLimiter for clarity
extract TopicNotifier class from topic
minor refactorings
Make pry a bit more useful
Extract Topic#posters_summary
Remove unused parameters from posters_summary
Sliding window rate limiting

Switched the algorithm to use a circular buffer
based on a redis list
Merge pull request #899 from chrishunt/chrishunt/extract-topic-posters-summary

Extract topic posters summary
Merge branch 'refactoring' of git://github.com/mattvanhorn/discourse

Conflicts:
	lib/text_sentinel.rb
Bad merge. Oddly not caught by autospec.
FIX: Invited by link was broken on user activity.
Bounce the popup tips again when you click submit button again
Weigh staff likes higher when calculating scores. New site setting: `staff_like_weight`
can set the factor (default is 3)