Add missing trivial clauses to record rewriter
A test case for empty receive block
Merge pull request #1055 from alco/record-rewriter-fix

Add missing trivial clauses to record rewriter
Downcase host and scheme in URIs
Merge pull request #1056 from meh/uri-downcase

Downcase host and scheme in URIs
Store in the AST if contents come from a quoted expression

This provides a more robust way of checking from where
the original expressions are coming from compared to the
lexical check_clauses field we had in elixir_scope.

A direct consequence of this commit is that, the following
code:

    defrecord Sample, [:hello] do
      import List
    end

Now raises a warning if the List import is not used,
where it didn't previously.
Provide a more robust alias and import expansion

Now that we support { quoted, true }, we can know
before hand if an alias or import comes from a macro
and act accordingly.
Deprecate var_context in favor of context
Ensure imports respect the quote context
Only add quoted: true to required ast nodes
Ensure nested modules are properly defined, closes #1057