C++: Handle recursive auto declarations

Remember auto declarations we have already looked up and stop if we try
it again.

Task-number: QTCREATORBUG-9503

Change-Id: I989b11609c98bf197ce916d79c9d452294355053
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
(cherry picked from commit 8f1b6656677344e9ca4b6798ddd900725c478b16)
C++: Handle recursive using/typedef declarations

Remember using/typedef declarations we have already looked up and
stop if we try it again.

Change-Id: I91bf0aef4df18539a47d015f0113543aef1f692a
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
(cherry picked from commit 50a900e509be2e1f448f29be126ba3b7f8173901)