Add is_complete request and reply to messaging infrastructure
Expose IPython machinery for testing code completeness
Document is_complete messages

Also, bump message spec version
Four possible states for completion reply, & indent hint
Set protocol version number back to 5.0

Bumping to 5.1 wasn't necessary, because we're still finalising 5.0
(thanks @minrk)
Merge pull request #6297 from takluyver/is-complete-request

is_complete messages