Major review of Strings and ByteStrings.
Fixed compat issue: {IsName true/false/unit} must be return true.
Improved dependency management in the build.

The two passes of source generation (first data types and
interfaces, then builtins) have been merged under a single
add_custom_command.

Apparently, this fixes the bad dependency management that forced
to recompile everything every time, in some setups.
Updated the README.
Use VirtualByteStrings in OS.oz.

But tolerate VirtualStrings in compat functions.
Added functions to get a VS as a new LString.
Added builtin Float.toInt.
Raise the proper error record on illegal feature selection.
Simpler implementation of getIntToStrBufferSize().
Fixed error raising in boostenv.
Fixed build failure with clang.
Improved build scripts for easier setup of a MinGW build env.
Implemented OS.exec and OS.pipe (the latter on Unix only).

This is a rather raw implementation that could use a review.
Added the builtin OS.putEnv.
Use CMake variables for some Properties of the VM.
Added a registry of builtin modules in the VM.
The body of builtins is now in 'static void call'.

Instead of (non-static) 'void operator()'.
Fixed a bug in NodeDictionary::lookupNode().
Added the Boot builtin module.

This module can find builtin modules via the VM registry.
Fixed a misordering of opcodes which was confusing.