Add Macro.decompose_call/1
renamed Macro.decompose_call/1 to Macro.split_call/1
Updated documentation for Macro.split_call/1
Renamed Macro.split_call/1 back to Macro.decompose_call/1
Start porting elixir_macros to pure elixir
Move arithmetic ops to Kernel
Move more operators to Kernel
Convert remaining operators
Convert bitwise
Move some macros back to __op__ to work around bug in erl_eval
Macro functions and macro macros to Macro.Env
Make module compilation work with elixir expressions
Get rid of unused _@MODULE var
Move function definitions to new serialization schema
Move remaining functions to elixir_env
Pass context information for definitions in the first argument

As we are moving the information to Elixir, we can no longer
access it if it is in the definition node.
Move function/macro definitions to Kernel
Move case/try/receive to special forms
Implement var! and alias! in Elixir
Move super? to Elixir as well