key exchangeIt's Autocrypt, there's an RFC for it
Also, if I choose not to implement deltachat apps in my chatmail client, what is the method of capability negotiation that I should use to indicate that to the deltachat appYou don't have to do anything, like Parla for example doesn't support WebXDC apps at all because it doesn't have a browser engine to run them in. The app is just a zip file with a .xdc extension. You could choose to just ignore those messages or display the attachment for download or do whatever you want really
And what if I send a message to another deltachat user on a different server from mine? How should that be handled?I don't know what you mean? It's just an email address, it gets sent by your email server like any other email.
Will they refuse it if it's plaintext?They could, just like they can refuse a message with an attachment that's too big. But why are you trying so hard to send plaintext emails anyway?