Merge pull request #54 from xeno-by/master

cleanup
Merge pull request #57 from xeno-by/master

adt reflection api
removes generation of withXXX, mapXXX and $tag
more todo refactoring
reflection doesn't need to depend on scala-reflect
removes mentions of withXXX and mapXXX
introduces Has.TypeParams
pullrequest feedback
first steps towards abstracting internal implementation details of trees
also hides parent
better names and types for parser entry points
further simplifies parser invocations

Now it's possible to write just `new Parser("...").parseTerm()`
instead of `new SourceParser(new Source("...")).parseRule(_.expr())`.
removing dead code
further reorganizes the public interface of the parsers package
super-easy parsing API
moves Attr back to package.scala
does away with "Context" in "HostContext"
c.application is redundant

I think we should be fine with the syntax like:

def q(parts: String*): Any = {
  case q"$prefix._(..$parts)" => ...
}
moves resource API to host, because it's not exclusive to macros
more simplification