Cleanup EntityView, SectionEditLinkGenerator and related

Main change is that the edit buttons (they are required for
non-JavaScript browsers) are omitted if there is no entity id.
Even if it is possible to call the special pages without an entity
id this does not make sense if you are clicking a link in an entity
view that does not have an id.

The reason to touch this code was what I saw in Id2e1fba.

Change-Id: I8f3f029b59dfdd23ad5561fcb41e303463b3a296
Merge "Cleanup EntityView, SectionEditLinkGenerator and related"