#16: Update Type ABNF according to the suggestion of @nikic

@nikic has pointed out several shortcomings to the ABNF for types, his suggestion
is a solid improvement to the BNF and has been used. One modification has been made;
the 1*SP in the generic definition has been replaced with *SP to allow zero spaces as well.