Feature/misc improvements

@zdne Please review and merge. @smizell Any thoughts?

I am still thinking about how to reference and re-use already defined Member Types. 

Also, I have been thinking about `One of` and other than the issue of being able to be more DRY, it is actually the right way to do that type of thing. I don't think a more general type or a `discriminated_union` type adds much. You will still need to use some kind of Member Type Separator for groups of members.

Regardless, I think getting the following changes in the spec now would be best.
@zdne I don't think we should support links for a _Variable Type Name_ because they only have meaning in the context of a local _Generic Type_ definition and should never refer to something else.

```
# MyGenericType(*T*)
- (array[*T*])
```

Am I missing something?