(Binary Analysis) Bug fixes for symbolic semantics

* ValueType is now polymorphic

* The following methods were fixed so they correctly update the
  set of defining instructions in their result value:
    MemoryState::add()
    Policy::signedExtend()
    Policy::unsignedExtend()
(Binary Analysis) Fixed instruction semantics for x86 MOVZX

The semantics didn't handle the (no-op) case where the source
and destination operands are both 16 bits.
(Binary Analysis) Fixed a flaw in symbolic semantics

When reading a multi-byte value from an uninitialized memory
location, the old version created multiple single-byte variables
and wrote them to memory.  The value returned from the readMemory
was a concatenation of the individual byte variables.  This was
inconsistent with writing a multi-byte value and then reading it,
which returns a single symbolic variable.

The new version, when reading from an uninitialized memory
location, creates a multi-byte variable and then extracts and
writes individual bytes of the variable, which results in the
same expressions being stored in memory as if a multi-byte
write had occurred just before the read.
(Binary Analysis) Updated test answers; improved memreadwrite test

* Updated the test answers to reflect the bug fixes in the previous
  commits.

* Added source code for the memreadwrite test, and added a second
  test case that looks at what happens when a multi-byte value is
  read from an uninitialized memory location.
(Empty) Retriggering Jenkins
(Empty) Retriggering Jenkins

Previous commit failed in C6-ROSE-distcheck for two configurations

* amd64 gcc 4.1.2
    > ERROR: files left in build directory after distclean:
    > ./tests/RunTests/FortranTests/LANL_POP/hs_err_pid7071.log

* amd64 gcc 4.2.4
    > distcheck/ROSE_TEST_BUILD_STYLE/make-distcheck/ROSE_TEST_GCC_VERSION/4.2.4/label/amd64-linux/ROSE-build/rose-0.9.5a/_inst/lib/librosehswrap.la'
    > libtool: install: warning: relinking `librosehswrap.la'
    > libtool: link: warning: `/nfs/apps/gcc/4.2.4/lib64/libstdc++.la' seems to be moved
    > Setup.hs: /export/tmp.hudson-rose/hudson/workspace/C6-ROSE-distcheck/ROSE_TEST_BUILD_STYLE/make-distcheck/ROSE_TEST_GCC_VERSION/4.2.4/label/amd64-linux/ROSE-build/rose-0.9.5a/_inst/share/doc/rose-0.9.5.1: createDirectory: permission denied (Permission denied)
(Empty) Retriggering Jenkins

Parent commit (f569e7w) was apparently not picked up for testing by Jenkins.
Merge commit '15d1d035ce9f1c488a3ec09a9c0ff17387fc2f77' into HEAD