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
Actually, it'n nothing to do with Windows.  It's to do with the way the windows/ port includes the unix/ files.  windows/ want's to supply its own mpconfigport.h, and not use unix/mpconfigport.h.