Add the set_elems method to the Positional REPR table.

Also implements that method in VMarray and dispatches the set_integer_native
VTABLE to set_elems.
Make sure @!highexpect is a list_s.
Two more lists to list_s.
Make sure VMArray's copy_to doesn't try to allocate zero bytes.
Implement a repr_set_elems PIR op and expose it as nqp::r_setelems.

This commit also changes a few instances of assign used to resize an array to
use the new op and two todo notes where it'll have to be done in the future.
Change several list uses to be explicitly list_s.

As of this commit, the compiler manages to compile itself again. There are
several issues in the test suite still be sorted out (and Rakudo), though.
Join has to be on a list_s now.
Add exists_pos positional REPR function, and implement it in VMArray.
Add delete_pos positional REPR function, and implement it in VMArray.
Fix a bug in t/nqp/52-vtable.t. Associative access != positional access.
Make sub join work with a list_s.
Make a string list in t/nqp/59-nqpop.t list_s.
Update t/nqp/59-nqpop.t to changed deletepos semantics.
Explicitly numify a list in t/nqp/65-how.t.
Change uses of nqp::join to sub join in t/hll/05-commandline.t.

We now pass all the tests in the test suite.