SSL.File: Removed some redundant tests in read().
Thread.Queue: Added FIXME.

The Thread.Queue API ought to be extended to be compatible with ADT.Queue.
Stop sending the protocol version around so much.
_Charset: Fix box drawing characters for IBM character encodings

RFC 1345 incorrectly assigns code points with LIGHT/HEAVY strokes
when they should actually use SINGLE/DOUBLE strokes instead.

Thanks to Chris Angelico for discovering the issue.
_Charset: Correct forms of arabic characters in IBM encodings

This brings the selection of presentation forms in line with what
is published on http://www-01.ibm.com/software/globalization/g11n-res.html

Thanks to Chris Angelico for discovering the issue.
Only set IDENTIFIER_NO_THIS_REF for object and function variables
Added CALL_LFUN<X>, useful when the number of arguments is known
Hide the REG_<X> macros/enums.

It is just too easy to accidentally write REG_RBX instead of P_REG_RBX.

This causes rather hard to find bugs in the generated code.
Changed fast_call_threads_etc handling with valgrind

Instead of disabling it entirely, clear it at function entry.
This gets rid of the uninitialized value, and slows things down less
than not doing the optimization.
Save a few bytes of code size for each free_svalue

8-bit constants generates smaller code.
Removed some #if 0:ed code

Fixes a warning when compiling with debug.
Optimized access to private/final global variables

Especially the machine code version is now significantly faster, it
will simply read the variable directly from the known byte offset
instead of calling a function that resolves it in the vtable.

Gives about a 20x speedup of trivial code along the lines of
globala = globala + globalb;

Also tried to disable some of the optimizations that causes lvalues to
be generated instead of the desired global/assign_global opcodes.

For now this is only done if the global variabeles are known to not be
arrays, multiset, strings, mapping or objects, since those
optimizations are needed to quickly append things to arrays (and
mappings/multiset, but that is less common. It is also needed for
destructive modifications of strings, something that is even less
common).
Added a few benchmarks to check the last optimization
Generate more compact code for int+int.
Optimize assign_X_and_pop + push_X to just assign_X
Stop operating directly on packet->fragment.
Correctly check the fragment size in the different stages of decoding.