First incomplete implementation of bcread function

Implements in Lua a function to read a raw bytecode string and print
the bytes side by side with textual annotations.

The goal is to be able to easily inspect bytecode binary blobs byte by
byte with useful informations about the meaning of each byte.

The implementation is based on LuaJIT2 lj_bcread.c implementation file.

Currently only the bcread_header function is implemented.
Complete "bcread" function to annotate bytecode

Still not implemented bcread_ktab.

The bytecode instructions, upvalues and debug section are currently not
decoded.
Add specific bytecode informations about upvalues
Add informations about prototypes bytecode flags
Rename local functions in bcread

To uniformize with LuaJIT BC codeing.
Implement decoding of bytecode instructions

Based on "bcline" function from luajit's "jit.bc" module.

Current implementation does not reference the string, constants and
function operands, neither the upvalues and jump targets are not
highlited.

The current implementation is limited by the fact that the bytecode
section appears before the kgc and knum sections and it is therefore
impossible to resolve the constant references with a single pass.
Fix bug in bcread_uleb128
Improve generated bytecode for small unsigned integer constants
Add top level file to decode raw bytecode files
Fix file open flags for bcread-file.lua on Windows

The "b" flag is required on windows because it is a binary file.
Fix bytecode buffer put_number function

Now the function does use put_uleb128 and put_uleb128_33 and
discriminate correctly the 32bit integer case.
Remove spurious tonumber conversion from bytecode implementation
Make the argument of proto:here not optional

The generator always call th "here" method with an explicit target.

This change let us drop the dependency on 'lang.util' module.
Move bit.* functions into locals in bytecode implementatin

Since the bitwise operations are frequently used it seems justified to
hoist them into local variables.
Cosmetic simplification in bytecode writing's module
Fix problem introduced by 2e556603 on 64bit systems

Use "unsigned ints" instead of size_t to avoid 64 bit boxed integers.
Minor code simplifications in bcread
Implement decoding of debug bytecode section

For bytecode that contains debug informations the bytecodes is decoded
to show the line number informations, upvalues names and local variable
names and their scope.
First fix of debug section's generated bytecode

Add a required terminating zero byte at the end of varinfo debug section.

Ensure that firstline, lastline and currline and always defined for any
prototype.
Remove spurious commented debug line