Refactor isc_hp/isc_queue to not grow thread table on every isc_nm_start()
Every time the isc_nm_start() was called, it would use entries from the hazard pointer thread table and it would eventually run out of entries in the table. The refactored isc_hp and isc_queue API will always take the tid in the arguments and thus the stable thread id assignment was moved to isc_thread_id() function.
Closes #2396 (closed)