Structs branch review

Let's use this pull request to do a code review of the structs branch.
struct? should be exposed like this:
@expose("struct?", [values.W_Object])

that way the primitive automatically raises an error if the wrong number of arguments is given. Currently giving no argument segfaults after translation.

The same is true for a few other struct primitives.