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".
Make ORM::count_all() return an integer instead of a string.
Fixes #4737.
Style fix: put a space after the (int) cast.
Merge pull request #82 from bharat/3.3/develop

Make ORM::count_all() return an integer instead of a string.

refs #4737
Merge pull request #81 from shadlaws/3.3/develop

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