Add support for generic annotation.

We may soon support bounded generics and other goodies.
Remove then keyword.
Add slicing syntax.
Add ranges to syntax.
Remove debugging line.
Add generic type bounds.
Add segfault todo.
Add defprotocol.
Limit protocols to a single type parameter.