added has() and custom func sections

Moved the GVim and Windows options to has(), and included section for
custom functions