Add UT for TypeKind
Fix bug in from_clang_decl.

For template generated in macro, e.g.:

#define MA(class_name) \
template<class T, class U>
class class_name {};

MA(test)

The T and U will have the same usr but different spelling.
Add spelling check to fix bug.
Ignore Template Template Param's children.
Add with_param_setup.
Add test for get_pending_files.

Also test data.
Fix a bug in from_clang_cursor.

In a macro, if it declares and defines a token, then we should also use
is_definition to differential it.
Add tests for from_clang_cursor.
Add macro test for from_clang_cursor.
Add setup_for_fs_file.
Add tests for from_clang_cursor.