Improve error message.

One of the cases was not explained in the existing error message.

Fixes #3773
Do type checks when looking for models in Controller::$uses.

This solves issues with models not being added when $uses = true.

Fixes #3774
add assert that habtm save does not return false