Instance.get: should only be recursive if it is an instance

Problem described on issue #2253.

This PR contains test unit and needed patches.

Not ready for merge yet.
Why is this needed? Is there ever a case where a non empty atribute matching a key name of the includes is not an include?