Added "deriving Show" declarations to several internal structures
Fixed couple of bugs introduced by handling of document comments

Also, refactored "dependencies" parser in Parse.Parse such that
it reuses the same code for parsing program header as the main
parser.

Squashed commit of the following:

commit 4f4a6ec2edfce071304bc9184186689b97b7bb5b
Author: Andrew Shulaev <a-shulayev@ya.ru>
Date:   Thu Jul 24 15:14:00 2014 +0200

    Finished fixing parsing bug

commit b90825e6a520db607b49bacdc5a14ab8319bdf20
Author: Andrew Shulaev <a-shulayev@ya.ru>
Date:   Thu Jul 24 12:24:20 2014 +0200

    WIP added TODO to fix later

commit 30f2047e0a035a90da73a81ca79d2a06921b7b93
Author: Andrew Shulaev <a-shulayev@ya.ru>
Date:   Thu Jul 24 11:45:00 2014 +0200

    Added "deriving Show" to Interface structure

commit edbf26903befe621ec0f1a78842c128a6a4f7891
Author: Andrew Shulaev <a-shulayev@ya.ru>
Date:   Thu Jul 24 11:00:10 2014 +0200

    Factored out debugging function to print a module

commit 26def3f49beb4c87009771a92a2d739fe07734b9
Author: Andrew Shulaev <a-shulayev@ya.ru>
Date:   Wed Jul 23 15:14:31 2014 +0200

    WIP continuing to fix a compiler

commit c2de64050744b61dfc08d145d8f038c53bc52edf
Author: Andrew Shulaev <a-shulayev@ya.ru>
Date:   Wed Jul 23 14:30:48 2014 +0200

    WIP fixing issues with parsing
Made Declaration a record rather than a tuple