Changes in the generator to support both clang 3.1 and 3.2.
A little bit more standard in StaticArray<T>.
Removed calls to std::to_string because MinGW does not like it yet.
Added conversion from wchar_t in UTF utils for Windows.
Updated build scripts for use in MinGW.
Some fixes in build scripts.
Renamed storage.hh -> storage-decl.hh.
Abstract away the second type parameter of Accessor.
Added support for non-trivial destructors of data types.

Yes! Even though DataTypes are garbage-collected with a
double space copy GC, we now support graceful destruction of
DataTypes that do have a non-trivial destructor.

Note that the type U in StoredAs<U> must still be trivially
destructible. This is unavoidable and a reasonable requirement.

Currently, types T that are StoredWithArrayOf<U> must be trivially
destructible too (both T and U). This is not an absolute
requirement, and the limitation will be relaxed in the future.

DataTypes that are not StoredAs<U> nor StoredWithArrayOf<U> and
that have a non-trivial destructor receive automatic magic from the
Object Model. When a value of such a type is created, it is
registered in a list in the VM. After GC and on VM termination, the
VM calls the destructor of the objects in this list.

Hence, any DataType requiring cleanup code can simply put it in its
destructor (which is natural) and it will get executed seamlessly.

Note that the destructor _is_ called after GC for values that have
actually been GCed (i.e., that are still alive). It is called for
the C++ object in the old space. This is fully natural and
sensible, if you think about it.

Also note that, when the destructor is called, any field which has
been GCed through a method of the GR gr will be _invalid_ (i.e.,
have an undefined content). It is forbidden to access such fields.
Increased support of generic methods in DataTypes from the generator.
Added support for ForeignPointer.

It's a much smarter version than what was in 1.4.0.
Replaced OzTCPAcceptor and OzTCPConnection by ForeignPointer's.
Reviewed file I/O with ForeignPointers. Safer and proper GC.
Finally added buildSharp() builder.
Added a mechanism to support non-idempotent steps in C++.
Improved the builders for all kinds of structural types.
Improved C++ pattern matching by allowing captures in RichNodes.
Conditional definition of is_trivially_destructible.
Added asyncOzCall() and ozCall() to call Oz procedures from C++.
Added builtin Procedure.apply.