Clean up some type checker error messages
Disallow implicit string conversions with '+='
Coalesce some type checking errors in TryStatement
Fix minus expressions: -255 is a short, not a byte
Add a hint to inline the maths bitcast functions
Upgrade LLVM to version 3.3
Don't crash if a compound type fails to convert
Add an early version of wildcard types

Wildcard types do not work correctly yet, as the support for run-time
checking of whether a wildcard encompasses another type is not yet in
place.
To enable this, major changes to the structure of RTTI are necessary,
which will turn all RTTI into instance RTTI (pure RTTI will be
obsolete).

This change alters the canAssign() methods of various types to handle
assigning wildcards to them correctly, and adds all of the compile time
checking necessary for wildcards.
This change also alters the way conversions are generated: whenever
something is converted from one type to another, a separate
TypeParameterAccessor is passed for both the 'from' and the 'to' types.
This simplifies conversions at boundaries between types, such as method
calls, which no longer require conversion to/from a
'contextualised actual' type, but can be converted directly to/from the
real type.