Refactor: split test.py into several smaller files.
Implement priority-based clearsnippets.
Code cleanup.

Full tested and does not break and old tests.
Refactor: snippet dictionary does not keep the extend info now.