Move Django template debugging to a separate plugin. Added Jinja2 template debugging.

This is 
a) refactoring of tracing, that moves all Django related code to plugin that is enabled on respective breakpoint add and 
b) Implementation of Jinja2 template debugging ontop of the new plugin architecture.

The resulting tracing speed should remain the same(we have measured performance of this new version) while code readability is increased by decoupling from Django tracing parts.

Patch authors: Elizaveta239 and traff

Known issues: set attribute is not implemented yet for Jinja2 and broken for Django, we will fix it afterwards.
I really like the idea of the plugins, but I think the current implementation with the dispatch on the debugger with `__getattr__` and only a single active plugin a bit limiting... My suggestion would be creating an object on pydevd_plugin_utils (say plugin_manager) which'd have the methods which can be called for the plugins and it'd be responsible to call those methods on the plugins (say, add_exception_breakpoint, add_breakpoint, etc) and it'd keep a list with the active plugins so that after a call to a method which could make a plugin active (such as adding a breakpoint), it'd check if the plugin became active and if it became it'd add it to the active plugins list (that way we shouldn't have overhead unless some plugin is actually active and it'll be flexible enough to accommodate having multiple active plugins).

What do you think?