Lots of bugs fixed in the prompt, including encoding.  Properly syncs output when running the python interpreter.  Single Choice Dialog fixes with focus and upper case characters.  Documentation updates/fixes.  setting the prefs dir from the command line now works properly (Thanks Franz).  Also properly removes trailing whitespace from commands run through the python interpreter.
Plugins now have more control over keyboard shortcuts (see changelog for details).  Plus a few more tweaks and fixes.

The updates to how shortcuts for plugins are handled allows for codecompletion to work in the prompt.

I also made an important change to the plugin:
Shortcuts are now fixed.

I did this to make things simpler.  With 0.0.3, you had to go into the Shortcuts Dialog, find the plugin, then use "Save and Update", and it was just far too much of a hassle.

Now '.' starts autocomplete, and '(' starts calltips.
')' ends calltips (or 'ESC", which closes both).
'<ENTER>' finishes the completion.

Back to the core, messing around in the prompt, I realized that if you just held down the enter key,
the prompt got out of sync while running the interpreter.

So after messing around a while, I have the prompt
wait 10 miliseconds after sending python a command,
and then manually add any relevant text in the input or error streams.  (During this whole process, the OnIdle code is inactive.  It is activated again at the end).

This ensures the output for a rapid series of commands does not get lumped together.

I also noticed that running a vanilla install on linux,
python did not run properly.  (Trailing whitespace).
So I fixed that.

Also, thanks franz for the bug report on the command line option.  It was originally '--preferencesbasedirectory', and I never changed the string index after changing it to '--preferencesbasepath'.  Oops.

In any case, things should run much smoother now.