Fix up serialisation more.

Pointer closures now only contain valid pointers.

All the system type in RTL except Judy now have
encoders and decoders (including "int" which was
embarrasingly missing)

We're still using the unsafe assumption objects
use the default scan_by_offsets. TBFL (to be
fixed later).