3731: multinomial recurses when necessary

* define the hint's method name at calling time

* there was now a case where cargs was not null that had to be handled

* _eval_expand_multinomial

  - there was some strange legacy code at the start that was removed
  - touchup function that clears any newly created powers was added
  - the note about using Poly to give the expanded expression was
    removed since Poly returns a flat expression and flattening Muls
    is not the job of this method
fix for 2.5 compatibility and other corrections