Merge pull request #3222 from cleishm/infimum_supremum

Rename mergeUp & mergeDown to leastUpperBound & greatestLowerBound
Add description of TypeRange and TypeSpec