Make projectile-replace faster if possible

Will try to use ag, ack, git grep, and grep, in that order.

Closes #262.
Make projectile-replace more customizable

`projectile-use-fast-replace` can be set to nil to disable using an
external command, and `projectile-files-with-string-command-fn` can be
used to customize the external command used.