Fix ticket #5605 (take 2)

Hi,

This is a follow-up to https://github.com/danmar/cppcheck/pull/290 that contained an incomplete fix for this ticket, as it only corrected the last reduction, and not the previous ones...

This updated patch fixes all the cases reported in the ticket by:
   - Making sure that TemplateSimplifier::templateParameters is not confused by default values
   - Keeping track of each parameter's "level" in TemplateSimplifier::useDefaultArgumentValues, and bailing out if several '=' signs are encountered for a single template parameter

Thanks to consider merging.

Cheers,
  Simon