Add support for custom columns
Warning: custom columns are available in up to Windows XP only.
The implementation is pretty much empty, but provides a structure to add
various custom columns without worrying about the Shell Extensibility glue.
Basically, it implements IColumnProvider which will make a Git Status
column available in any folder that is a repo. To utilize an existing
column, e.g. Author or Keywords, one would change CHEETAH_FMTID and
CHEETAH_STATUS_PID to her liking. The advantage: the same info is available
in the Details pane of the Folder Tasks. The disadvantage: for some file
the info may be overwritten by other column providers (although this has
not been seen yet).
Please, don't put heavy processing into initialize_columns or
get_column_info because they're called way more often than really needed.
For example, initialize_columns was called *multiple* times on the same
folder from different instances of the extension (i.e. no in-memory
caching).
Two defines are missing from mingw's headers and are added directly to
the columns.c where they're used.