Fix issue 153: Extra fwd-declare for C typdedef struct

The fix for issue 123 in r530 went a bit overboard. C does not _always_ require
a forward declaration, quite the opposite.

Add better test coverage and only require a forward declaration if the
elaborated struct is part of a parameter list.

git-svn-id: http://include-what-you-use.googlecode.com/svn/trunk@563 812d1f90-f944-d88a-411a-122bdc93e1ea