Fixed possible double require of model classes

When loading environment berfor tire:import:all, it is possible that
models are already loaded when tire tries to load them. This can cause
redefinition of constants and all other kind of havoc.

This fix first tries to constantize the models to see if they are
already loaded before trying to require them.

See issue #744 for discussion.

Closes #869