TM_PYCHECKER_OPTIONS for checker customizations

This allows you do pass options to your preferred checker - for example, passing
--max-line-length to newer pep8/flake8:

    TM_PYCHECKER = "flake8"
    TM_PYCHECKER_OPTIONS = "--max-line-length=110"

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Change tm-file: → file:
Add initial semantic classes.
Let TextMate save (on ⌘R) unless document is untitled

This is a subtle change but it means that all but untitled documents are saved by TextMate where previously the command would always be responsible for saving, which meant encoding, callbacks, and similar weren’t respected, and there was a theoretical synchronization problem (TextMate having to get notified that the file changed on disk and notice that it was (now) identical to the modified version in memory).
Run command: Output links even for untitled documents

I assume the reason links were skipped for “TM_FILE_IS_UNTITLED” was because the original author didn’t bother adding the code to remove the URL-part of the txmt://-links. Since TextMate.executor handles conversion of the links, there should be no need to special-case the “untitled document” case in this file.
Run command: Stack trace was missing first line

Initially the Python script runner was written in Python and used execfile() to run the user script. This meant the runner itself had an entry on the stack trace which we explicitly had to skip.
Added pdb & interact macros
Added ipython macro

Now "ipy<tab>" will insert the code to invoke ipython in the local context
Snippet: bpdb debugger

bpdb is like pdb but modern