Add IPythonTerminate to close ipython

There's no apparent interface to close ipython aside from sending it a
terminate message, so make a command to send a terminate message.

Extracts most of interrupt_kernel_hack to send_kernel_interrupt which
takes a single argument: the signal.
added a todo I just thought of
get docs by sending `foo?`, just like ipython

currently only supported for sending single lines which end with a
question mark.
support for `foo??` to get code introspection

Again, like `foo?` - this only works on single lines for now.
But I did add the syntax highlighting for python code on ??
Merge pull request #56 from pydave/add-terminate

Add IPythonTerminate to close ipython
cleanup up interrupt implementation, added docs
adding some more issues
Update to newest IPython internals, closes #61

Thanks to Skipper @jseabold for reporting and giving me the pointers to
@minrk's updated gists, see #61 for reference
go to bottom of shell buffer on update

This will happen either because we executed an ipython command, or
because we just manually updated the vim-ipython buffer via something
like <leader>s
leave insert mode on ??
moved my blog around
merge