(erlang) Add experimental support for default values in record definitions

This is a backport from experimental-erlang-defaults branch (in turn, branched
from self-spec-refactoring)