Major refactor.

Most of the functions are now exposed from `django_node.node` and `django_node.npm`.

The Node API is now composed of...
- `django_node.node.installed`
- `django_node.node.version`
- `django_node.node.version_raw`
- `django_node.node.run`
- `django_node.node.ensure_installed`
- `django_node.node.ensure_version_gte`

The NPM API is now composed of...
- `django_node.npm.installed`
- `django_node.npm.version`
- `django_node.npm.version_raw`
- `django_node.npm.run`
- `django_node.npm.ensure_installed`
- `django_node.npm.ensure_version_gte`
- `django_node.npm.install`

Added a test suite which is run from the shell with `python django_node/tests/runner.py`.

Added three new settings...
`DJANGO_NODE['RAISE_ON_MISSING_DEPENDENCIES']`
`DJANGO_NODE['RAISE_ON_OUTDATED_DEPENDENCIES']`
`DJANGO_NODE['ALLOW_NPM_INSTALL']`

Fixed a bug where the `DJANGO_NODE['NODE_VERSION_COMMAND']` setting would be overridden by the `DJANGO_NODE['NPM_VERSION_ARGUMENT']` setting.