Hash formatting

This PR continues with improving hashes output:

* adds spaces after `{` and before `}`
* omits the braces when the hash is passed to a method call as a last argument

And again I had to violate the LSP by creating a public method `Emitter::Send::Regular#last_argument`. I think it would be much simpler if we're able to call the child's method directly from the parent to emit it instead of delegating all this work to `Emitter#visit` or other high-level methods which call `#dispatch` internally. Current architecture makes it difficult for a parent to tell the child emitter to emit itself in some special way (like `Symbol#emit_without_colon`).

What do you think?