Add new C++ rule BaseClassDestructorShouldBeVirtualOrProtectedRule.
- Fix protected inheritance.
- Fix violation for AbstractASTVisitorRule.
Merge branch 'BaseClassDestructorShouldBeVirtualOrProtectedRule' of https://github.com/Jarod42/oclint into Jarod42-BaseClassDestructorShouldBeVirtualOrProtectedRule
Use std::unique_ptr to replace llvm::OwningPtr
Apply recent rule structural changes
Merge branch 'Jarod42-BaseClassDestructorShouldBeVirtualOrProtectedRule'