Fixes #2, breaks #1, flexibility wins though

This commit adds functionality for the `packages` attribute, where it can now be specified as a hash of package names and the action to take on each one (see README.md).

It also includes unit tests to ensure the behavior is correct.

The attribute `packages_action` is removed. It was causing an error, because .to_sym was sent to an array value (the default, `['install']`). That attribute was too rigid, however, as it was all-or-nothing, and didn't give users the flexiblity to install some packages, and remove others.