Short-circuit tail calls

If function A calls B in tail position, make all
call sites in A GOTO the same call code sequence.
(Tail calls are never under exception handling)
Add erlang:is_builtin/3 BIF
Add support for bitsets in erjang constpool
Special case switch(n) for sets of integers

Elixir has some codegen (for unicode) that creates
huge switches of integers, which all branch to one
or two different targets.  

This code special cases such code (that would
otherwise be lookupswitch) so that we use one or
two bit sets to determine the outcome. This reduces
generated code size significantly for this particular
case.
Special case binary matching BE sub-32-bit ints

This is a common fast-path that now gets code
generated as ESmall. This should give the 
VM a fair change to spot the temp objects.

It would be ideal to be able to code generate it
as int, but then we need to have more control over
the case when such a type is later merged after
a branch.
Updated kilim.jar