ocaml: refactor the makeprg code
ocaml: refactor the makeprg code

The code to generate the makeprg was an epic jumble. Break it down into
separate methods.

Also, init several options at the top of the script and make some
executable() checks at the same time. This clears up some of the clutter
and means we only check it once - not on every syntax check.

wezhang/vim-setup,nikmartin/dotfiles,wezhang/vim-setup,wezhang/vim-setup,wezhang/vim-setup,wezhang/vim-setup,wezhang/vim-setup