Use 0, not NULL, since 'value' has integer type, not pointer type.
Introduce an internal function for raising Unsupported using format strings.
Include a number in the generated stub name to avoid clashes.

It's now easier to bind the same C function twice at different types.

Update tests to remove workarounds for name clashes.
Mark OCaml values as 'alloc', since references are boxed.

In practice, OCaml types can't be used as return types, so it doesn't
much matter whether they're marked as 'alloc'.
Tests for passing OCaml values directly to C.
Stub support for passing values directly to C.