Added TraceLogger to get backtrace for executed queries

Added a TraceLogger that returns a backtrace for the executed query.
The backtrace returns the last 10 frames, and it also formats the frames for easy reading
Just storing the trace can have huge drawbacks for memory usage (as @stof explained in https://github.com/doctrine/dbal/pull/535#issuecomment-39558642).

The idea of this logger is to see where a query originated from. Just storing the trace means each user will need to go through the trace and figure out where the query was executed from. Where in this case, all the processing is already done, and the result can just be displayed in debugging (Which is also why it only prints the last 10 frames of the trace, because you won't need more info than that to see where a query is called from, and it also strips out any calls to internal classes when building the trace)