Better usage of macros in hipe_rtl2llvm + refactor

The previous usage of macros created multiple llvm "objects" in places
that they were not actually needed, e.g.:

> I3 = hipe_llvm:mk_call(T1, false, [], [], ReturnType, "@"++Name,
>      [{?WORD_TYPE, Src1}, {?WORD_TYPE, Src2}], []),

changed to:

> WordTy = ?WORD_TYPE,
> I3 = hipe_llvm:mk_call(T1, false, [], [], ReturnType, "@" ++ Name,
>      [{WordTy, Src1}, {WordTy, Src2}], [])

We should reconsider removing all these macros.
Cosmetic changes in hipe_llvm_main.erl
Remove macros from hipe_rtl2llvm.erl

The usage of macros as function call aliases, such as those in
hipe_rtl2llvm, forces the creation of more Erlang terms than are
actually needed. Thus, we should avoid them.
Rename hipe_rtl2llvm.erl to hipe_rtl_to_llvm.erl