Natural types coding tests

These tests verify the basic operation of the internal encoding/decoding API of natural domain objects.

When we have a stable public encoding/decoding interface for these domain objects, we should add the natural types to GIDL and port the tests there.