C representation: introduce assignment; actions subsume expressions.

 * introduce assignment, and hence lvalues.  Currently lvalues are
   variables or index expressions:

     lvalue ::= local-variable
                lvalue [ expression ]

 * Expressions can now appear wherever effectful computations can appear.
Give the optional bytecode-only stub an explicit representation.
Define C definitions as C declarations with bodies.
Formatting for C declarations.
Add support for local constants to the C representation.
Add CAMLreturnT support.
Add support for CAMLparam and CAMLlocal macros.
Make it easier to refer to local variables during C generation.