Make dedent() for extra_info work as intended

After the variables are inserted, the message has too much data to dedent cleanly - so dedent the format string before inserting them
add a unit test to make sure that dedent() has dedented the format string
Merge branches 'shish-patch-1' and 'master'
Ignore derived