Add api.Interpreter: Jedi API for Python REPLs
Improve api.Interpreter docstring
Add tests for api.Interpreter (2/3 fail)
Implement the case where raw object is a module

Previously failing test_complete_raw_module is passed.
Use proper interface to add fake Import object
Support alias in _make_fakeimport
Implement the case where raw object is an instance

There is still a bug in this implementation.
The corresponding test fails.
Fake imports should locate before fake statements
Fix test_complete_raw_instance example

'dt.strftime("%Y").up' does not work even if with `api.Script`.
Change it to the one that can be handled by Jedi.
Document api.Interpreter
Document _import_raw_namespace more
Support case like `from os.path import join as pjoin`
Document api.Interpreter._genname
Python 2.5 compatibility fix
Use locals() for tests in TestInterpreterAPI

It is better to check that Interpreter does not fail with the
real name space.  Previously the doctest using locals() failed
because of the bug in _import_raw_namespace.
Fix failing test: args for ModuleWithCursor