feat(jsdoc): add `rendering.nunjucks.config` field to config
refactor(ngdoc): set rendering.nunjucks.config to use {$ $}
test(link inline tags): handler syntax changed
fix(write-files): ignore docs that have no output path
refact(examples): move injected example into a template

The HTML that was being injected into the docs to display the example on
the page was hard coded into the processor javascript.  This has now been
moved out into its own template.  This allow us to maintain and  evolve
the display of runnable examples more easily.

To achieve this the package makes use of the new inline tags support:

* The `examples-parse` processor now extracts the example information,
storing it in the `examples` injectable object. It replaces the example
information in the docs with an inline tag: `{runnableExample example-id}`.

*BREAKING CHANGE: The `examples` injectable object has changed from being
a flat array to a hash indexed on the id of the example.  If you only
iterated over the examples then things like `forEach` should still just
work.  But you can no longer access the examples by index, e.g.
`examples[0]` will return undefined rather than the first example.*

* The `examples-generate` now, additionally, generates a runnableExampleDoc
for the each of the examples.  This will be rendered the same as other
docs based on the `runnableExample.template.html`.

* A new `runnableExample` inline tag handler will replace its inline tag
with the rendered runnableExampleDoc identified by the id given in the
tag.
fix(ngdoc/templates) : improve "View Source" and "Improve Doc" links

Since version 3 of bootstrap, use glyphicon for icons.
And to have the same display as buttons tutorial (Next, Live Demo ...)

Closes #8
chore(version): bump to 0.4.0
fix(inline link tag): throw error if link is invalid
fix(jsdoc extractor): ignore non-jsdoc comments
feat(jsdoc extractor): add next code node to the doc

This allows the doc processors to access information about the code
that follows the jsdoc comment.
chore(version): bump to v0.5.0
style(examples): don't use loadConfig in tests

This causes unnecessary warnings to be logged
test(link handler): fix test, since the handler now throws on error
feat(partial-names): add removeDoc method
feat(jsdoc/compute-paths): add new processor

This was extracted out from the id tag definition in the ngdoc package.
It also now allows us to config the partials folder (now called
config.rendering.contentsFolder)
feat(PartialNames): getLink disambiguates docs by area

If there are more than one doc that match a name then the getLink method
fails saying that the name is ambiguous.
Now, if you pass in the current document to getLink then it will first
try to filter out, from the ambiguous docs, those that are in areas
other than the current doc. If this leaves only one doc then that is
returned successfully.
feat(jsdoc tags): improve jsdoc tag coverage

Add in some missing tags and note that name is not actually a required
tag. In some situations it would be inferred from the code position.
feat(tagParser): only ignore tags that are defined with ignore property

Previously any unknown tag was ignored.  This left potential for badly
spelled tags to be missed, leading to broken documentation.
Now, all unknown tags cause warning to be shown and only tags that have
a definition with the ignored property set to true will actually be
ignored.

BREAKING CHANGE: If you relied on undefined tags being quietly ignored
your processing will now fail.  You should add new tag defintions for
all tags that you wish to ignore of the form:

```
{ name: 'tag-to-ignore', ignore: true }
```
refact(partial-name processor): move adding docs to own processor

Before the api-docs processor was adding docs to the partialNames object.
But this was not a cohesive feature of api-docs. This commit moves that
work into its own processor.
fix(filter-ngdocs processor): run before tags are extracted

Otherwise bad comments get through and fail in the tag-extractor.