Conversations: added flood control for ConversationMessage, in addition to the previous check against Conversation only.
Conversations: renamed config namespace.
ApplicationManager: added IsEnabled method.
FloodControl: added UI for Conversations settings.
FloodControl: renamed action for private conversations.
FloodControl: hardcoded minimums would overwrite selected minimums from dashboard if less than hardcoded minimums. For example, selecting a minimum of 1 would never work due to hardcoded value of 2.
FloodControl:

- Added defaults flood control settings.
- Added $Options array to ConversationMessageModel
so the spam checker can distinguish between simply
a conversation reply, and a new conversation, 
which also calls the conversation message model.
- Added $SkipSpamCheck argument to spam checker
method.
Conversations: added check to make sure the UserID posting to the conversation is actually a member of the conversation.
Conversations: shortened logic.
Merge pull request #1979 from vanilla/feature/conversations-security-improvements

Conversations: added check to make sure the UserID posting to the conversation is actually a member of the conversation.
Fix the conversations flood control.

- Track a separate time when a user is locked out due to spam.
- Fix the flood threshold check.
- When a user is spam locked set their count to 0 so they won’t get locked out immediately after their lock expires.
Merge branch 'feature/pmfloodcontrol' into stage
Upload: Add htmlspecialchars to error.
Merge branch 'stage' of github.com:vanilla/vanilla into stage
AttachmentModel: Change enabled to static method.
Merge branch 'stage' of github.com:vanilla/vanilla