provisioner/ansible: more configuration options

this PR is now two commits:

* e41f620 allows users to provide a replacement command and / or extra args to the `ansible-local` Provisioner. this can be useful, for example, to unbuffer output when using the `docker` Builder, or to modify ansible behavior, like enabling verbose mode, injecting variables, or changing paths.

* f16ba10 is a fixed, squashed version of #834. it allows users to specify directories for group and host vars to be uploaded as well before ansible-playbooks is invoked.

proposed upstream at mitchellh/packer#842, merging now because i need to be able to deploy this.