introduces Lit.value

not related to unification, just something that seemed useful to add
Template.stats ought to be lazy, otherwise we'll explode when loading packages

Defn.body-style member don't have to be lazy, because we can proxy them if necessary
introduces Member in order to be able to return something from Type.decl

This required a refactoring of Defns that we attempted on Friday.
I put a bit more pressure and got it done:
1) Ctors are now top-level
2) Package and PackageObject have been moved to TopLevel
unified reflection API

Here's a very brief explanation of how it's supposed to work.
Sorry don't have much time until take-off, so we'll have to discuss
this more extensively via hangouts later.

Term.tpe and Ref.src are self-explanatory. There's one minor wrinkle
though - I'm not sure whether we need Pat.tpe or not. Probably yes.

Type.sig does essentially what Ref.src does, but accounting for
typeSignatureIn. But then why is Type.sig declared on Type and not
ony Type.Ref? Well, that's because typeSignatureIn also applies
to non-ref types.

The final thing is Tree.parent and Symbol.owner. How are we going to pull
this off?

Read the green vs red tree write-up about Roslyn + keep in mind that in
the new vision macros expand after typer, so we can be sure that parents
are consistent.

What about whitebox macros you ask? Well, there's another cute vision.
Whitebox macros = blackbox macros + fundep materializers, and fundep
materializers only need types not trees, and we actually don't have
to maintain consistency of any parents / expose any definitions other
than the types passed to the macro.