[WIP] updating the message spec (finish IPEP 13, 24)

Since I am not optimistic about nbformat 4 being able to ship in 2.0,
I am going ahead with the message spec updates detailed in IPEP 13.

I will implement IPEP 24 here as well, once some discussion has happened there.

Main changes:

- pyout -> execute_result (no effect on nbformat)
- pyerr -> error (same)
- pyin -> execute_input
- remove user_variables (redundant with user_expressions)
- passthrough unrecognized mime-type outputs (but don't passthrough recognized ones,
  that change has to wait for nbformat 4)
- kernel_info versions are strings
- add version string to message headers