(PUP-1085) Make Pacman provider group-aware

The Archlinux Pacman package manager has a concept of package groups,
which due to the provider not checking for a group being installed
caused all contained packages to be reinstalled.

This commit uses `pacman -Qg` in addition to `pacman -Q` to check for
installed groups.

Because groups don't have versions this will still cause all packages in
a group to be reinstalled if ensure is set to latest.
(PUP-1085) Add and fix pacman provider tests

- Added a test for the installedgroups function
- Fixed behaviour of instances function
- Pointed a test for code that has moved at the new function
Merge branch 'pr/2403'

* pr/2403:
  (PUP-1085) Add and fix pacman provider tests
  (PUP-1085) Make Pacman provider group-aware

This closes GH-2403.
Merge branch 'master' of https://github.com/puppetlabs/puppet