Various fixes re. type variables

Fixes #75, #82 and #87 
Yes, there's `TypeVariableName` for https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.4 and `WildcardName` for https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.5.1