Asking, Answering, Editing

All in one PR :-)

The main commands are and `sx-ask` (bound to `a` in question list),
`sx-edit` and `sx-answer` (bound to `e` and `a` in question-mode).

They are written so that they can be invoked interactively and called
non-interactively, so it will be easy to have asking and answering
functionality associated to other places.

There's also a new major-mode: `sx-compose-mode`.
All 3 of those commands create a new buffer with that mode. 
Hitting `C-c C-c` in this buffer sends the content.
Hittinh `C-c C-k` kills the buffer.

The buffer is named so that each question/answer has a unique buffer
associated to it. So if you start composing an answer (or an edit), go
do something else, and then try to answer the same question (or edit
the same thing) again, `sx` will let you know you already have a draft
open.
Composing new questions doesn't follow this. Every new question is a
new draft.

I like how things have been made simpler by having buttons. 
The only advantage of keeping this particular functionality a part of buttons is that we can make the button's `help-echo` reflect the content that's copied.

Also, buttons are nice because they behave very well. For instance, we can bind `w` to `sx-question-list-copy` in `sx-question-list-mode-map`. 
This will work as expected, except when point is on a button, in which case `w` will call `sx-button-copy`.