Add ag flags based on version 0.24.0.

Hi, just started using zsh-completions and zsh for that matter. I noticed the ag completion is quite out of date and I use that a lot. I've made the necessary changes and tried to respect existing standards. Before merging this, a few questions.

1) I compared this with _ack, and noticed that file has descriptions mainly starting lower case and not ending in periods. In this file, seems that the majority of lines are capitalized with periods. Should _ag descriptions be converted to match _ack? Regarding

2) In the _ack code I noticed this snippet:
```sh
  unset _ack_raw_types
  if ( [[ ${+_ack_raw_types} -eq 0 ]] || _cache_invalid "ack-grep" ) && ! _retrieve_cache "ack-grep"; then

    _ack_raw_types=(${(S)${(S)${(f)${${"$(_call_program types $words[1] --help=types)"}#*--\[no\]}}%; first line matches \/*\/}#*no\]})
    [[ $#_ack_raw_types -gt 0 ]] && _store_cache "ack-grep" _ack_raw_types
  fi  
```

a) Why is _ack_raw_types always unset? That seems to make the first test -eq 0 on the if useless as it always fails. Left over test code maybe?
b) Why is _call_program used? Not sure I quite understand this zsh function, its description is brief in docs. Is it similar to `command` forcing a lookup? Why not use `command`?