This branch contains a version of R that allows the SEXP type to be a
struct instead of a pointer. To enable this define BIGSEXP when
compiling the C code. This is motivated by observations of Justin
Talbot that this might allow certain values, such as double, integer,
and logical scalars and possibly short character strings to be
represented as immediate values without allocation. Defining
BIGSEXP_IMMEDIATE provides a little support for experimenting with
this, but only very little is implemented.

Changes to enable this were tedious but straight forward to make as the
C compiler flags what needs to be changed. It is not clear that all
places needing to be adjusted for immediate representation of values
can be identified as easily.

R with BIGSEXP defined is slower; here are timings for running 'make
check' in builds without recommended packages:

nobig: 75.552u 3.880s 1:32.08 86.2%	0+0k 0+373248io 0pf+0w
big:  125.231u 5.340s 2:23.43 91.0%	0+0k 0+373248io 0pf+0w

In SEXP-use-heavy simple benchmarks the BIGSEXP is about a factor of 2
slower. So there will have to be substantial optimizations (or the
implementation has to be more clever) for this to show a benefit. But
it's there now for experimentation.

Trunk changes merged in through r63844.