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.
Use <LocalLeader>

Use <LocalLeader> for filetype-specific maps so user-defined local
leaders work. Recommended by :help maplocalleader
Use noremap for main mappings

Use noremap where possible to prevent breakage when users remap certain
keys. (Some people swap : and ; which would break all calls to :python)
Use noremap and mode-specific maps in shell buffer

Using noremap will ensure maps still work for users who remap core vim
keys (like :).

Some maps only make sense in normal mode, so only map them there.
Use <Plug> for filetype maps

Use <Plug> for plugin maps to make it easier for users to define their
own maps.

<Plug> names are wrapped in braces to ensure that RunLine and RunLines
aren't considered overlapping by vim. (Otherwise, vim will pause after
RunLine to make sure you don't want RunLines.) See also:
    http://stackoverflow.com/questions/13688022/what-is-the-reason-to-parenthesize-plug-map-names

Plug names have common prefixes (Plot, RunLine) to make completion
easier and grouping clearer.

Note: You cannot use noremap for Plug (it won't map to anything).
Only map within the python buffer

Adds <buffer> to all plugin maps.

Only apply the maps in the current buffer to prevent them from carrying
over into nonpython buffers (where the commands wouldn't make sense).
Comment out unimplemented debugging maps

Hide these from users since they are currently unimplemented.
Make status prompt configurable
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
do not explicitly enable ballooneval, otherwise it cannot be disabled