refact(*): remove previous Dgeni implementation
feat(dependency-sort): add utility function
feat(log): add wrapper around winston
feat(Package): add Package type
feat(Dgeni): add new (no config - DI based) Dgeni
refact(dependency-sort): remove lodash and tidy up
refact(Dgeni): remove lodash and change `dgeni` service to `config`
fix(Package): add param checks and tests
docs(NOTES): move to dgeni-packages
chore(gen-docs): update to new Dgeni style
feat(Package): allow processors to be defined as an object

If processors are defined as an object they cannot have services
injected into them but if that is OK then this gives a less verbose
API.

Previously, you would have to wrap the object in a function:

```
myPackage.processor(function testProcessor() { return {
  $process: ...
});
```

Now you can also do:

```
myPackage.processor({
  name: 'testProcessor',
  $process: ...
});
```

Note that in this case the name must be provided on the object.
chore(doc-gen): add `npm run docs` script
refact(dependency-sort): remove winston
chore(Dgeni): remove rimraf and lodash from project
docs(Package): improve docs for processor method
chore(package): add es6-shim to dependencies

This is needed for the Map class
test(Dgeni): add tests to improve code coverage
feat(Package): allow processors and service to override their name
docs(Dgeni): packages param is optional
docs(Package): fix typo in error message