Provide function heads where needed

Elixir master (v0.14.3-dev) requires that functions with multiple
clauses and defaults supply those defaults via a function head. This
addresses this new requirement.

As far as I understand this is just an added requirement, so this
shouldn't break any immediate backwards compatibility, and I
tested it with 0.14.2 just to make sure.