WyJC: Removed Primitive Type Optimisations

There were some optimisations in the WyJC backend whereby some types
(e.g. bool, byte, char) were being coded into primitive java types.
However, with the elimination of the back propagation phase this becomes
problematic (at least for now) since it requires significant extra
machinery to ensure proper coercions are inserted.
WyJC: Various minor bug fixes.
WyIL: Removed caching of bytecodes as now unsafe

Previously, bytecodes were cached in an effort to ensure that any two
identical bytecodes would actually be unequal.  However, with the change
to using blocks (and possibly even before this) I fear that this is now
unsafe.  Furthermore, it's not really important and, hence, to minimise
any potential future pain I have removed this functionality.  To be
honest, I look forward to the day when I can rewrite this all in
Whiley!!
BUILD: Added tweaked version of jasm
WyIL: Bug fix for reading WyIL Files.
WyC: Updated String Append to be more Consistent.

Previously, string append was not consistent in that it would accept
non-string arguments in either the left or right position, provided the
other argument was a string.  This was causing some minor problems and
is not consistent with my plan to remove strings altogether.
Unfortunately, I cannot make it completely consistent because I need
some way to be able to add an individual character.  Therefore, the
string append now only supports chars on the left or right operand.
WyIL: Various fixes for WyilFileReader/Writer

These represents various bug fixes related to reading and writing WyIL
files.  In particular, related to the handling of labels as offsets
within a binary WyIL file.  In particular, to allow a label to occur at
the very end of a block, I neded to insert a "virtual" instruction which
is used when calculating the offset of a given bytecode instruction.

WyIL: Bug fixes for reading / writing WyIL files.