Automatically generate IDisplayName

*   Refactor how body of defcomponent(k) is parsed to allow merging in default
    implementations of protocols.
*   Merge in a default version of IDisplayName that returns the name of
    component as string.

Resolves #36
Update CHANGELOG for changes related to #36
Mention auto IDisplayName in README
Add docstrings to new methods
Merge pull request #38 from Prismatic/default-spec-map

Automatically generate IDisplayName