Add a timer to initialize command history properly

With a timer, it leaves enough time for loading minibuffer history.

Without a timer, helm-projectile-ack/ag prevents user to quit the
commands with C-g in one try, thus requires multiple C-g pressings. A
timer introduces a brief delay for Emacs to accept user input and fix
multiple C-g pressings issue. This is also the way helm-find-files-grep
does. This is just a speculation, but it fixes the issue.
Fix helm-projectile-ack file ignoring

Currently helm-projectile-ack processes ignored files and directories
the same as projectile-ack. This works for directories, but not work for
ignoring files with wildcard matching. When user adds files with
wildcard, ack will see this not as an argument to it but a search string
and returns no result.

This is fixed by using "--ignore-file=match:" pattern that accepts a
regex that matches files. Also, shell-quote-argument must be used to
properly pass the file patterns with regex in it, otherwise ack also
returns no result.
Merge pull request #531 from tuhdo/master

[FIX] Add timer to allow canceling helm-projectile-grep/ack properly, fix helm-projectile-ack file ignoring