rewrite _valid_formatter

- explicitly forbid method_descriptor
- explicitly allow builtin_function
- use inspect.getcallargs for any other callable