(PUP-2871) Add :install_options and :uninstall_options to the pacman provider

Without this patch, a user unfamiliar with the pacman provider might write
attempt to add flags to install and uninstall, not knowing that they will fail.
This patch adds support for these two flags to ensure a more cohesive experience
across puppet.
(maint) use RSpec helpers over instance and local variables
(maint) Isolate specs from whether yaourt is installed
(PUP-2871) Concatenate install install_options to argv

Before this commit, install_options were passed as a nested array to
pacman/yaourt. This commit changes that to concatentate the values
with the argument vector.
(PUP-2871) Concatenate uninstall_options to argv

In the same manner as 9137faf uninstall_options were being appended as a
nested array value; this commit changes the uninstall method to
concatentate options to the array.
(maint) Make pacman (un)install_options private

These methods should not be called by any outside class; this commit
makes them private and removes the tests that invoke them directly.
Merge pull request #2918 from adrienthebo/fixup/master/pup-2871-install-uninstall-options-pacman

Fixup/master/pup 2871 install uninstall options pacman