First version of compiler/emulator

At this stage the compiler just manages local variables
Fix handling of repeated local variables
Fix bug in pop_frame so as not to free frame

Also took the chance to sneak in some code cleanup.
Adapt the modules to the new luerl_comp/luerl_emul
Fix garbage collector, and change stack field name st->stk
Merge branch 'develop' into vm
Fix #function{} and update luerl_emul.erl to use it
Remove luerl_eval.erl

Versions are diverging too much to keep it here as well.
Reorder functions to comply with order in stat
Fix passing of variables and have separate functions for sequences

We now have separate functions for sequences like 'var', 'funcname'
etc. They could be merged but this makes it clearer what we are
doing. Variables are now either passed as references into frames or
as 'STRING's for table lookup keys.
Pass variables as binaries not atoms from compiler

Also convert {userdata,...} to #userdata{}.
Use ttdict instead of orddict to store non-numeric keys

Actually we use a provate copy of the ttdict library (yet to be added
to OTP) which contains extra functions first/next/last/prev for
stepping over key-value pairs.
Clarify Known bugs section of README
Add _ENV as first argument to chunk

Question is whether we should do that here in the parsing or later.
At least it is only the chunl interface which adds it not the raw
parse.
Rename stk back to env

It is not really a stack but a static scope environment.
Merge branch 'develop' into vm
Add line number to local in AST
decode tables returned from luerl:eval/2 and luerl:evalfile/2
Merge pull request #17 from lastcanal/develop

decode tables returned from luerl:eval/2 and luerl:evalfile/2
Make call to luerl_eval:chunk in dofile

A call to luerl_emul:chunk from future compiled versions had snuck in.