network message system improvements

- Asks up front if the message is destined for a network when posting
  - Behavior suspended for replies
  - Lightbar for network selection
- Any recipient allowed if network message
- Validation before posting
  - Checks if network tags have been removed after-the-fact
  - Checks if network tags have been added after-the-fact
  - Checks for 'public' tag on network messages, refuses if absent
- Added utility function, `connect_bot`, for spawning bot connections in `bbs/telnet.py`
use pattern:
```
with BOTLOCK.acquire():
   (...)
```

this wraps it with a ``finally:`` clause so that, should an exception occur, the lock is released