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.