Fix small compilation issues

* Add missing “assert.h” file header inclusion
* Do not define ARRAY_SIZE if it is already defined
* “mpconfigport.h” is a library header, not a system header
> About ARRAY_SIZE

> We define it system-wide,

So, maybe that's the problem ;-).

>  again, this is quite a common macro

But just imagine for a second that it's defined with different semantics. So, more robust solution (from uPy's point of view) would be to #undef it, and both robust and environment-friendly is to make it MP_ARRAY_SIZE.