Refactor: Topic#invite_by_email

Extract Topic#email_already_existas_for? and Topic#grant_permission_to_user
Fix failing spec due to missing variable in extracted method
Refactor: Topic#invite_by_email

Extract Topic#email_already_existas_for? and Topic#grant_permission_to_user
Fix failing spec due to missing variable in extracted method
Merge branch 'refactor-topic-invite-by-email' of github.com:cored/discourse into refactor-topic-invite-by-email
adds unit tests for Discourse.View
remove rack cache, it has been causing trouble
instead implement an aggressive anonymous cache that is stored in redis
this cache is sitting in the front of the middleware stack enabled only in production
TODO: expire it more intelligently when stuff is created
Refactored Topic#limit_topics_per_day to reduce code climate complexity

Extracted  1) #apply_per_day_rate_limit_for, method as generic
RateLimiter , 2) #limit_first_day_topics_per_day as a separate method,
3) Added User#added_a_day_ago?, 4) Fixed private methods indentation.
Support for MDTest
FIX: New line after blockquote
FIX: Heading with style
another speedup for the BackfillPostUploadReverseIndex migration
add a sitesetting to enable the CleanUpUploads job
When system flags users as sockpuppets, show a reason in the admin flags ui
unit tests for Discourse.ContainerView
removes unused return statement from Discourse.ContainerView.attachViewWithArgs
FIX: Nokogiri bugs in certain environments
Update Vagrantfile and docs/VAGRANT.md for new box
Post Expansion enhancements
Extra comma
Two Column User View