First crude implementation of recursive schema walker

A lot of work yet to do.

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>