[core] Add early stages of capability negotiation

Still *very* unstable, thus why I'm adding it off master
[docs] A few assorted tweaks
Merge branch 'ircv3'