ticket #550 reworked importing and selecting shells to avoid poluted exceptions
fix check if shell is a callable
fix flake8 style error
fix print statement for python3
Fix model loading for sentry

Sentry has a weird model naming scheme where all model files are inside
a single directory called models and each 'app' models is in a file of
its own (I guess the authors thought this was a better idea when they
didn't have any views etc. but models only).

With the models directory begin in the import path, one can import by
        from useroption import UserOption
for example.

If there are no app names, use the file name as app name.
Merge pull request #563 from tayfun/fix-sentry-weird-models

Fix model loading for sentry
Added python-prompt-toolkit integration for shell_plus