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