Split TrackMixin into User and Channel TrackMixins

- Lighter weight for users that do not care about one or the other
- If you want both, you can use AllTrackMixin
- Only one evil hax added

Other fixes:
- self.network.to_str -> self.network.str_type
- user_part doesn't raise
- WHOX logging format uses %s instead of %d so debug logging doesn't raise