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.

Well, there are 4 functions already that use it, so I thought it made sense here. My logic is that this function will slowly grow in power, supporting an increasing number of data types and keywords.

I could factor this part out to another function if that doesn't seem sensible.