Make #include line duplicate removal explicit.

Refactor CalculateDesiredIncludesAndForwardDeclares so it
doesn't implicitly remove duplicate #include lines or forward
declares.

Rather, it keeps track of all of them, and then explicitly
cleans out duplicates.

This is a preparatory step for fixing issue 140.

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