Fix: non-void functions may lack a PB because they never return.
Add support for a special case of negating a pointer, often generated by dragonegg-3.2 / gcc-4.6, in which the calculation (p + c1) + (c2 - (p + c3)) is generated. Tolerate this by marking the negated pointer as p + ? and looking for the special case whilst handling add.

Also incidental fixes:

* Generate constant-data-arrays rather than integers when reading a subvalue of a composite where the subvalue is larger than 8 bytes. This is because ReadDataFromGlobal can't deal with large ints but can deal with arbitrary CDAs, making them more practical objects to use elsewhere.
* Expand scalar splat values in readValRange, because downstream code doesn't handle that case but does deal with reads that resulted in byte arrays.
* When coercing int 0 to a pointer, return null + 0 instead of null + ?
* Consult the right argument when getting a realloc's target size; this was inhibiting multiple reallocs.
* Don't try to clobber null pointers.
* Sort contexts more intuitively.
* Fix brief printing of functions.
* Add a skip-tentative-loads flag.