Change _initialize() to set the object name only if none predefined.

This follows the same pattern as object plural and table name, and gives devs the freedom to set their own name.  This is useful, for example, if you want to translate "Model_FooBar" to "foo_bar" instead of "foobar".
Merge pull request #81 from shadlaws/3.3/develop

Change _initialize() to set the object name only if none predefined.  Fixes #4733