Pick up import cycles as loading errors with fake line numbers

@hvr This has bugged me for a while.
Improve usefulness of file-relative-name in cycle code
Support GHC 7.8's message format for extension suggestions
Split interaction mode into two minor modes a la indentation