Declare ack-and-a-half-arguments prior to use

The autoload on the ack-and-half call loads the library, unfortunately
until that has happened ack-and-a-half-arguments is not declared so this
code will fail without a require on ack-and-a-half first.

This solves it by simply declaring the variable first. I'm not quite
sure how this works if defcustom has already loaded a value for this
variable, but this shouldn't override existing values.

The other approach is to change the fboundp call to
(require 'ack-and-a-half nil 'no-error). That doesn't remove the free
variable error on ack-and-a-half-arguments though.
Merge pull request #275 from dgtized/declare-ack-and-a-half-args

Declare ack-and-a-half-arguments prior to use
Use lexical scoping by default
Fix a typo
Don't bind dynamically the name of the project for projectile-switch-project-hook
Need to require ack-and-a-half for it to work

I guess I didn't test this as well as I should have previously. It would
appear that defvar without a value still leaves it as void. Since the
function references the arguments before autoload brings in
ack-and-half, it's used in projectile while still void.
Fix git-grep to work in Windows.
[Fix #277] Correct the cl-lib dep in helm-projectile
Fix lein project type detection
Merge pull request #273 from bling/master

Fix git-grep to work in Windows.
Merge pull request #276 from dgtized/fix-ack-for-real

Need to require ack-and-a-half for it to work
Fix build
Really fix the build