refact(base/computePathsProcessor): warn if no path or outputPath template/getter is found
feat(anchors): detect dangling anchors

Adds a processor that detects dangling anchors

Closes #23
refact(base/resolveUrl): simplify the code

Note that the service name has changed and resolved urls now always have a leading slash
refact(base/extractLinks): rename and also extract id attributes

Note that the service name has changed.
refact(base/checkAnchorLinksProcessor): cleaned up the processor

A couple of significant changes
- we should be referencing the `path` property not the `outputPath` since the latter
is often a partial and doesn't necessarily map directly to the url of the doc.
- you can now specify the path variants (i.e. paths that will still match the same doc)
- I added a `checkDoc` property that allows us to specify what docs to check; simply
checking the extension is not really enough in angular.js because some HTML files are
not actually pages in the site. In angular.js we can set this to check that the doc
has an area property.
- I added a `webRoot` property since it is not always possible to guess whether an
absolute href will actually match a doc. If the web app were not hosted at the root
of the domain then it might break. This is related to but sublty different to the base
path.
- the warnings are now grouped by output file to make it easier to see what it broken
and a total is output at the end.

Closes #78