expand_flat
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 of
    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