Allow Blueprint to determine if entity name is required.

Prior to this change an entity name was always required (which makes
sense for all of our bundled blueprints). In some cases you just want to
run a generator that does not need a name (for example you are just
initializing some required files for an addon).

This change still requires an entity name by default, but allows the
blueprint to override the `normalizeEntityName` and prevent the error.
Merge pull request #1631 from rwjblue/allow-blueprint-to-determine-if-entityname-is-required

Allow Blueprint to determine if entity name is required.