Core.St function heads more docs-friendly

Having function head like this:

    def push(state = %{stack: s}, elem)

rendered docs don't show the name of the 1st argument:

    push(arg1, elem)

After switching the sides of the in-head match:

    def push(%{stack: s} = state, elem)

1st arg name gets copied to the doc:

    push(state, elem)

It is also cool that when arg is named with an underscore,
docs render it without one.