Changing the default nodemanager Affix string to use the new MakeMeHearAffix.
Update `nmmain.py` to use the latest Affix version; cleanup.

* Updates to reflect the latest changes in the Affix framework,
  e.g. affixstackinterface --> affix_stack, NatPunchAffix -->
  MakeMeHearAffix, remove "Zenodotus name" and advertisement
  as these will be handled by the NamingAndResolverAffix.
* Removed remnants of the (non-working) TimeoutAffix. Use
  the Repy sockettimeout library instead.
* Slightly clarified the main listenport-searching loop. It now
  reacts differently when encountering "typical" listen errors,
  and retries more quickly.
* Made the builtin check for IP address changes conditional on
  whether Affixes are enabled. (If they are, then NamingAndResolverAffix
  will do this). --- This is actually a hint at refactoring
  NamingAndResolverAffix and move its IP change monitoring function
  into a library other programs can use.
* Minor code cleanups
* Docstring fixes