Introduce T106 rule for vi modelines

We don't need to have the vi modelines in each source file anymore.
We've already fixed them several times.
 https://review.openstack.org/#/c/66507/
 https://review.openstack.org/#/c/68552/
 https://review.openstack.org/#/c/69318/
 https://review.openstack.org/#/c/70133/
However, newly some files still have it in its header. So we should
check it automatically with our HACKING rule.
This commit introduces T106 rule for that.

Note: This code is copied from Nova's hacking rule.
   Change-Id: I347307a5145b2760c69085b6ca850d6a9137ffc6

Change-Id: I5c94ef041a39c2377ba6321ace8934f324287bcf
Closes-Bug: #1229324
diff --git a/HACKING.rst b/HACKING.rst
index 3fa1ff5..e7e7651 100644
--- a/HACKING.rst
+++ b/HACKING.rst
@@ -11,6 +11,7 @@
 - [T102] Cannot import OpenStack python clients in tempest/api tests
 - [T104] Scenario tests require a services decorator
 - [T105] Unit tests cannot use setUpClass
+- [T106] vim configuration should not be kept in source files.
 
 Test Data/Configuration
 -----------------------