libmn: store port metadata on heap

Before this commit the mn_port_t datatype was an integer
key into a shared hash table that pointed to the metadata for
that port. As a result, we pay the cost of a hash table lookup
each time we want to manipulate the port. This commit removes
the shared hash table and converts the mn_port_t datatype into
a pointer to a heap-allocated structure that stores the port metadata.
This replaces the expensive hash table lookup with a cheap pointer indirection.
libmn: decrease DEFAULT_STACK_SIZE in release mode