core: unset -f para remover funções

O bash aceita dar `unset` em funções sem especificar a opção `-f`, mas este comportamento não é portável; o padrão POSIX o considera indefinido:

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#unset

If neither -f nor -v is specified, name refers to a variable; if a variable by that name does not exist, it is unspecified whether a function by that name, if any, shall be unset.