Perform major API changes

This patch includes multiple changes and is not backward-compatible.

In summary this patch:
- Supercedes PR 99 (MODULES-1075), 97, 96, 94, 93, 85, 82, 80, 79, 51, 69, 66
- Explicitly does not support Debian 6
- Makes nodejs, nodejs-dev and nodejs-debug packages parameters
- Defaults to using the NodeSource repositories where possible, but allows
  native packages to be installed when appropriate parameters are set
- Introduces a parameter repo_class, which allows one to use alternative
  repositories like EPEL for the Node.js packages instead.
- Adds Windows installation support via Chocolatey
- Adds a defined type nodejs::npm::global_config_entry, which allows one to
  set and delete global NPM config options. This moves the proxy parameter
  out of the previous npm defined type.
- Is lenient when attempting to support operating systems which have are
  still in testing stages, without a release date yet.
- Includes detailed RSpec unit tests
- Adds Beaker acceptance tests