Add mechanism which assigns directly from pyobject to ndobject

This is to create direct assignment to structs, for
some demos to have more intuitive code.
Add construction of ndobjects from structs using either sequences or dicts
Add some tests and fixes for assigning python values to structs