Give RecordImpression different reasons for different cases

Now that we can tell donate cookies and hide cookies apart, send
the different reasons to Special:RecordImpression.  Also add a
reason to mark when the alterImpressionData callback says 'hide'.
Lastly, add banner and campaign info even to 'hide' impressions.

Change-Id: I0c7749e1fef4b2b6f8807f39762d381f391d5219
Merge "Give RecordImpression different reasons for different cases"