utils: add INTERACT

Often when coding/debugging you'd like to have a shell at a certain
point in your code. A common Python idiom for that is:

    from code import interact
    interact(local=locals())

This commit adds a function called utils.pyutils.interact, which looks
into the stack and fetches the local scope of its caller, then runs
an IPython (if available) or Python shell with this local scope.

Also, this function is patched into __builtins__ under the name
INTERACT. So anywhere in your code, you can just call INTERACT() and get
a nifty shell with the relevant locals.
models: add flask-sqlalchemy integration