add signature_scheme to Session and connection files

also change default hash to sha256 instead of md5, since md5 is bad.
(this is the main motivation)
propagate signature_scheme config to parallel connection files
document the wire protocol
remove unimplemented message types from the messaging doc
fixes to completion and connect messages
set some topics on IOPub messages

these are informally defined and have no effect,
but we should be a bit better with them.
add some detail to the wire protocol
add missing comma
Merge pull request #3756 from minrk/wiredoc

document the wire protocol

in the messaging doc

also update the digest scheme to use sha256 and make this configurable,
since md5 is the previous default and has been shown to be bad.

More messaging docs to update here:

- [x] remove get/setattr on kernel
- [x] remove crash messages
- [x] completion requests do not behave as documented
- [x] object_info is misdocumented (`name` is actually `oname` in object_info_request)