Erlang application utilities and gen_exe a generic port gen_server to manage external executables