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.
Merge pull request #3 from jtimberman/jtimberman/flexible-package-management

Fixes #2, breaks #1, flexibility wins though