Pass tuples unboxed if possible
All tests pass
Specialize more functions
bugfixes
Remove unnessecary pto argument from emit_unbox
Adjust llvmcall for new tuple infrastructure
Some llvmcall bugfixes
Address compiler warnings

Also remove unused PassManager reference
Also remove PM initialization
Handle nothingness correctly
Fix a performance regression

We used to statically evaluate immutable tuples, but now these get picked up to create unboxed constants. This change allows static insertion of any unboxed constants to boxed constants. Fixes a performance regression in parseint.
tpl -> &tpl and don't use return value from unreachable
Allow unboxed storing tupl purebits tuples
remove invalid check from store_unboxed_p
is_stable_expr for tuples
Add a test case for when an already-in-use client is passed to accept

This is a funny case as the accept method with two arguments doesn't really
make sense as part of the external interface anymore, since there is no way
to construct an initialized but not connected socket anymore. Nevertheless,
it is trivial to trigger this case, so I added a nice error message and a
test that the error message gets hit. Note that the previous assertion was
not sufficient to catch this case, since the state of the client may have
change over the course of the `wait` call and hence one needs to check
in accept_nonblock
Fix tuples branch for some changes since it was introduced
Tuples branch bug-fixes