refact(*): remove dependency on 'es6-shim' and `Map`

The `Map` provided by es6-shim is not truly compatible with true ES6
Maps or works well with libraries that want to iterate over the items,
such as Jasmine and Nunjucks.
fix(partialNameMap): use pure object to prevent property collisions
fix(ngdoc/macro.html): default param values are in `doc.defaultValue` property

Closes #58
chore(package.json): add stringmap dependency
refact(base/readFilesProcessor): use stringmap for fileReaderMap
refact(computePathsProcessor): use stringmap and no longer allow default template

BREAKING CHANGE:

This commit removes the default fallback option for path templates. You now
must provide a template for every docType that can appear as doc if you want
them to have a path or outputPath.

If there is no path template defined for a docType then docs of that type
 will quietly not get a path or outputPath.
refact(jsdoc/inlineTagProcessor): use StringMap
refact(jsdoc/parseTagsProcessor): use StringMap
refact(TagColletion) use StringMap for tagsByName property
refact(jsdoc/moduleMap): use a StringMap to store the modules

BREAKING CHANGE:
If you have a processor that accesses the moduleMap service then it will
need to be modified to use the StringMap API [get(), set(), remove(), ...]
rather than direct property access.