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
> So, maybe that's the problem ;-).
As MIN & MAX, yes. Again, it is quite common.
It is used system-wide (kernel, driver, library, application) it still makes sense. This is one of the rare macro that is not prefixed on our system.
`MP_ARRAY_SIZE` is far better.