Cleanup code and update README.md

README.md:

    Update README.md.

scmc.cabal:

    Add flags for ghc and use the prefered way for declaring extensions.
    Add version restrictions to dependancies according to cabal usual policy.
    Purely cosmetic: add fields to scmc.cabal.
    And change cabal version to >= 1.15.

Cleaning/Refactoring:

    Remove unused imports.
    Remove useless `$` and parentheses.
    Remove trailing spaces.
    Use `_` instead of unused variables.
    Rewrite some expressions with liftM or fromMaybe.
    Rewrite some functions to use partial application.
    Use literal patterns for some cases.
Fix non-exhaustive patterns. Closes #2.
Disable some warnings. What's the point of type inference and lexical scoping if we disallow them?
Move handling of positions from Token to TokenTree.
This allows to handle way more errorneous cases in the parser, and also simplify its code a lot.