various refactorings of the message network

- derived database names are automatic
  (simpler configuration, documented) **
  this is important, could break folk! **
- make config option poll_interval optional
- make config option addr, port optional
- make cipher_list configurable (optional)

- make very clear, when obscure errors occur
  in CherryPy(cert_file) calls, the offending
  file path, to make it easier for folk to know
  where they went wrong.

- allow msgpoll.py and webserve.py to be executed
  independently of x/84
- distinguish managed vs. unmanaged server start
  in engine.py

- remove various redundant log instantiations
- some function juggling for brevity and to make
  common with similar "unmanaged" servers
- make use of get_ini() in various places, removes
  the hard work of map(str.strip, stuff)
- document self-signing cert generation
- assert URL route mappings exist at start-time
- better
Resolve KeyError

reported by @signalpillar
Merge remote-tracking branch 'origin/master' into msgnet-refactor
Conflicts:
	x84/msgpoll.py
Merge remote-tracking branch 'origin/master' into msgnet-refactor
bugfix start_polling() -> main()
breakfix net -> net['name'] in db filepath
breakfix: ca_verify in msgpoll
Move shared coerce_terminal_encoding to common

Also, use (U instead of )U to designate G0, not G1 to cp437
argfix for coerce_terminal_encoding()
bugfix queue -> queues database
bugfix news.py pager width for terminal widths <80
add term.normal to top.py
bugfix: startwith -> startswith for syncterm
fix for userbase, thanks @kanzure
remove Unicode Warnings in pwreset.py
Merge branch 'msgnet-refactor'