Make kwargs explicit in put, append
Made possible by #29951, progress towards #20903 

@jreback input needed on whether certain not-covered-in-tests cases should be considered possible.  See that both `put` and `append` still contain `**kwargs`.  In all extant tests, kwargs is always empty.  But there are remaining keywords that write_to_group (which both put and append call) accepts that are not in the put/append signatures.

So the question is: is there a reason why put/append would accept different subsets of the writing keywords?  If not, they should both have the same explicit kwargs as write_to_group.

Once this is pinned down, we can get explicit all the way up the stack to NDFrame.to_hdf
> Made possible by #29951, progress towards #20903
> 
> @jreback input needed on whether certain not-covered-in-tests cases should be considered possible. See that both `put` and `append` still contain `**kwargs`. In all extant tests, kwargs is always empty. But there are remaining keywords that write_to_group (which both put and append call) accepts that are not in the put/append signatures.
> 
> So the question is: is there a reason why put/append would accept different subsets of the writing keywords? If not, they should both have the same explicit kwargs as write_to_group.
> 
> Once this is pinned down, we can get explicit all the way up the stack to NDFrame.to_hdf

these are likely ok. The reason for extra keywords is mainly on opening of the store itself, where PyTables passes thru keywords (e.g. to specify a different kind of backend: https://github.com/PyTables/PyTables/blob/master/tables/file.py#L219) > these are likely ok. The reason for extra keywords is mainly on opening of the store itself,

To be clear, I'm referring to keywords that we have established are accepted by _write_to_group, i.e. not ones being passed to HDFStore. > To be clear, I'm referring to keywords that we have established are accepted by _write_to_group, i.e. not ones being passed to HDFStore.

then i think ok to remove Updated:

- updated annotations
- removed kwargs
- to do this, had to enforce nan_rep cannot be passed with append=True (double check this is desired)?
- removed no-longer-allowed dropna, fletcher32 kwargs from NDFrame.to_hdf docstring (double check this is desired)? updated+green (ex an unrelated jinja2 problem ill work on in the morning) thanks