Revert "Use meta.declaration instead of meta.model"

This reverts commit 8755c9c726e5f5c0a4c5dfe5b110668586ec095c.
Make Token take a type parameter

We can now use that type parameter to recieve the expectd token type from the
tokenizer, which means we know token types in advance.

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Code fixes to run on Ceylon master

This makes us incompatible with the 1.1.0 release, since something that is now
an error was a workaround for some weaknesses in type narrowing.

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Store tokens in hash by type atom

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>